Java正则表达式文本替换
我有这样的文字Java正则表达式文本替换,java,regex,replace,pattern-matching,Java,Regex,Replace,Pattern Matching,我有这样的文字 Some. / text to-match (1) 我想替换/(),因为有下一个 Some_text_to_match_1 如何使用该模式?您可以从两端的非单词字符中修剪字符串(使用.replaceAll(“^\\W+\\\W+$”,”)),然后在字符串中用.替换一个或多个非单词字符块(使用.replaceAll(\\W+“,”)): 见 详情: \W匹配非单词字符 +匹配此量词修改的子模式的一个或多个实例 由于在修剪字符串并替换其中的非单词字符时,我们需要使用两种不同的
Some. / text to-match (1)
我想替换/()
,因为有下一个
Some_text_to_match_1
如何使用该模式?您可以从两端的非单词字符中修剪字符串(使用.replaceAll(“^\\W+\\\W+$”,”)
),然后在字符串中用.
替换一个或多个非单词字符块(使用.replaceAll(\\W+“,”)
):
见
详情:
\W
匹配非单词字符
+
匹配此量词修改的子模式的一个或多个实例
由于在修剪字符串并替换其中的非单词字符时,我们需要使用两种不同的替换,因此我们不能仅使用1replaceAll
显示您的尝试。难道您不想删除所有非单词字符吗?字符串还包含-
和空格。所以,有超过
,/
,(
,)
需要处理。是的,我需要更换所有的!看,谢谢!它工作得很好!
String s = "Some. / text to-match (1)";
s = s.replaceAll("^\\W+|\\W+$", "").replaceAll("\\W+", "_");
System.out.println(s);