去掉字符串中的符号。
例如:I have an apple.
,用空格拆分后会产生一个字符串apple.
,实际情况中可能还会产生apple!
apple...
apple,
等字符串,要获取apple这个单词,就必须去掉这些符号。
代码:
String str = ",.!,,D_NAME。!;‘’”“**dfs #$%^&()-+1431221\"\"中 国123漢字かどうかのjavaを決定";
str = str.replaceAll("[\\p{P}\\p{S}\\p{Z}]", "");
System.out.println(str);//DNAMEdfs1431221中国123漢字かどうかのjavaを決定
String str = ",.!apple";
str = str.replaceAll("\\p{P}", "");
System.out.println(str);//apple
[]
表示字符集,在目标字符串中匹配方括号内的所有字符Pattern r = Pattern.compile("[il]"); Matcher m = r.matcher("young girl is beautiful"); while (m.find()) { System.out.print(m.group() + " "); // i l i i l }
\p
p 是 property 的意思,表示 Unicode 属性。参考:java官方文档正则表达式{}
内部的字母表示的含义:
P:标点字符
L:字母;
M:标记符号(一般不会单独出现);
Z:分隔符(比如空格、换行等);
S:符号(比如数学符号、货币符号等);
N:数字(比如阿拉伯数字、罗马数字等);
C:其他字符
参考:java正则表达式