我正在尝试从字符串中删除某些字符,但是我的正则表达式在字符(')和(,)之间造成混淆。 这是我的代码,但不会删除(,)字符:
String str2 = "word,string,phrase";
System.out.println("----- " + str2.replaceAll("\\s+", " ").replaceAll("\\W+^'", " "));
如何指定正则表达式删除(,)而不删除(')。 输出示例:
单词字符串短语
我的目标是删除除单词(不要)中的字符(')以外的所有非单词 预先谢谢你。
答案 0 :(得分:3)
如何指定正则表达式以删除(,)而不删除(')。
我的目标是删除除单词(不)外的所有非单词('),
通过“删除(,)”,看来您要替换为空格。
通过“删除所有非单词”,看来您的意思是与\W
匹配的任何东西,除了:
'
应该保留,
,应以空格代替因此,首先,找到所有不是\w
,'
或,
的字符:
[^\w',]
将所有内容{@ {1}}替换为空之后,也可以将它们全部替换为空:
,
这意味着原始字符串中的所有空格也将被删除,这与所描述的规则一致,因为空格是非单词。