在String类中,对于Java的replaceAll
方法,加号字符(+)作为第一个参数(即替换字符串)的正确正则表达式是什么?我无法获得正确的语法。如何使用Java的String.replaceAll方法替换加号字符
回答
你需要躲避+
正则表达式,使用\
。
但是,Java使用String参数来构造正则表达式,它使用\
作为自己的转义序列。所以,你必须逃离\
本身:
"\\+"
您需要用\转义+,因为\本身就是Java字符串中的一个特殊字符,您需要用另一个\来转义它。
因此,您的正则表达式字符串将在Java代码中定义为“\\ +”。
I.e.下面这个例子:
String test = "ABCD+EFGH";
test = test.replaceAll("\\+", "-");
System.out.println(test);
有疑问时,让Java的为你做的工作:
myStr.replaceAll(Pattern.quote("+"), replaceStr);
这是一个很好的技术 - 谢谢。 – 2009-03-04 16:50:50
这还不够。 replaceStr也需要引用替换的东西。为什么不使用`myStr。替换(“+”,replaceStr)` – user102008 2011-06-20 09:41:27
如果你想要一个简单的字符串查找和替换(即你不“T需要正则表达式),它可能是简单的使用StringUtils from Apache Commons,这样可以让你写:
mystr = StringUtils.replace(mystr, "+", "plus");
其他人已经指出的正确方法:
- 摆脱
+
作为\\+
- 使用
Pattern.quote
方法,其逸出所有正则表达式元字符。
另一种可以使用的方法是将+
放在字符类中。许多正则表达式元字符(.
,*
,+
以及其他许多字符)在字符类中被逐字处理。
所以,你也可以这样做:
orgStr.replaceAll("[+]",replaceStr);
说你想用\\\-
更换-
,用途:
text.replaceAll("-", "\\\\\\\\-");
String str="Hello+Hello";
str=str.replaceAll("\\+","-");
System.out.println(str);
OR
String str="Hello+Hello";
str=str.replace(Pattern.quote(str),"_");
System.out.println(str);
- 1. Java String.replaceAll()替换换行符
- 2. 如何使用JavaScript字符串替换方法替换“+”号?
- 3. 如何使用String.replaceAll函数替换Pattern.DOTALL?
- 4. Java替换所有添加替换字符串的方法,而不是替换
- 5. 使用替换方法在C#中替换为\“符号
- 6. 替换方法不会替换破折号为空字符串
- 7. 有效的方法来替换字符串中的字符(Java)?
- 8. POST方法替换'+'字符
- 9. 如何用\替换\。在java字符串
- 10. 替换方法不是替换字符串中的字符
- 11. 如何用星号替换Java字符串中的所有字符
- 12. 如何替换Java中的双括号内的子字符串?
- 13. 如何用等号(=)符号替换字符串
- 14. 如何用“破折号”或“符号”替换字符串中的字符?
- 15. 无法用Java替换方法代替
- 16. 如何仅替换字符串的未加引号的部分?
- 17. 如何使用java替换逗号(。),点(。)使用java
- 18. 替换字符串方法中的每个字母java
- 19. String.replaceAll(字符串,字符串)方法给出unexpexted输出
- 20. 替换#使用\ u0023在Java字符串
- 21. 替换JavaScript中的所有加号符号字符串
- 22. 使用替换的Javascript替换字符()
- 23. 用Excel替换字符作为符号
- 24. 如何用PHP中的其他字符串替换“$”符号?
- 25. Java重复使用替换方法
- 26. 如何使用java替换文本文件中的字符串?
- 27. Java:用随机字符串替换字符串的最简单方法
- 28. 如何从字符串中删除单引号,使用替换
- 29. Java的替换字符串
- 30. 在Ruby中,如何替换字符串中的问号字符?
我有坏习惯在构建正则表达式然后运行.replace('/','\\')时使用'/',这样我就不必输入“\\\\”以匹配文字反斜杠。 – 2009-03-04 12:49:49
如果你想替换一个固定的字符串,Pattern.quote(String)是一个非常好的朋友。 – gustafc 2009-03-04 13:06:23