MJB*_*MJB 39 java regex whitespace android
我想用"+"替换字符串中的所有空白字符,用"ss"替换所有"ß"......它适用于"ß",但不知何故eclipse不会让我使用\ s作为空格.我尝试了"\ t",但它也不起作用..我收到以下错误:
无效的转义序列(有效转义序列为\ b\t \n\f\r \"\\\ \)
这是我的代码:
try {
String temp1 = from.getText().toString();
start_from = temp1.replaceAll("ß", "ss");
start_from = start_from.replaceAll("\s", "+");
}
Run Code Online (Sandbox Code Playgroud)
为什么不起作用?这是android,eclipse还是什么问题?
提前致谢!
Rob*_*rco 61
你需要逃避斜线
start_from = start_from.replaceAll("\\s", "+");
Run Code Online (Sandbox Code Playgroud)
问题是\
java中的转义字符以及正则表达式模式.如果你想匹配正则表达式模式\n
,比如说,你会继续写下来
replaceAll("\n", "+");
Run Code Online (Sandbox Code Playgroud)
正则表达式模式最终不会成为\n
:它将成为一个实际的换行符,因为这就是"\n"
Java 中的含义.如果您希望模式包含反斜杠,则需要确保转义反斜杠,以便不将其视为字符串中的特殊字符.
replaceAll("\\s", "+");
Run Code Online (Sandbox Code Playgroud)