Java中String.replace()时的正则表达式不会写了, :(

现在有这样的一个字符串:
String srcString = "Por Ti Baby (Featuring Flex)";

我想通过调用replace()方法把这里的空格和"( )"都替换为"_",

可忘了正则表达式怎么写了,只能很采取那种很笨的方法,连调三次replace()方法.

srcString.replaceAll("[\s()]","_");

\s表示一个空白符;
[\s()]表示 空格 左括号 或者 右括号中出现其中任何一个

replaceAll("[\s()]","_"); 即表示用_替代字符串中出现的空格符、左括号、右括号。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-15
replaceAll("[\\s()]","_");
‘\’斜线本身需要转义。所以空格的表示是\\s
第2个回答  2008-03-12
replace("(\(|\)|\s+)","_");
第3个回答  2015-09-15
不是这样用的,可以参考下以下用法:
String src= "aaabbbcccdddaaa";
String newStr = src.replace("aaa","eee");

输出结果为:eeebbbcccdddaaa。

String src= "aaabbbcccdddaaa";
String newStr = src.replaceAll("aaa","eee");
输出结果为:eeebbbcccdddeee。
备注:replace是只替换第一个符合的,replaceAll是替换的所有符合条件的。
相似回答