繁体   English   中英

¿可以用*,$,%替换所有吗? 如果没有 ¿

[英]¿Can replaceAll work with *,$,%? if no ¿What other alternative to replaceAll can i use?

所以,我试图制作这个代码,如果我检测到这个符号之一(*!OX%$#+&),那么那个特定的符号将从字符串中删除。 但是,我收到此错误消息

Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
*

我认为是由于函数 replaceAll 无法识别这些字符。 如果是这样,有人可以告诉我另一种方式来做我想做的事情。

(我必须逐个验证每个字符是否在某个字符串上)

是的, replaceAll可以处理这些字符中的任何一个,但是replaceAll的参数是一个正则表达式。 这意味着在正则表达式中具有特殊含义的字符需要通过在它们前面加上反斜杠来“转义”。 然后,当然,反斜杠需要通过在它前面加上第二个反斜杠来从编译器中转义。 所以你最终会写出这样的东西

replacedString = myString.replaceAll("\\+", "PLUS");

要找出需要替换的字符,请查看Pattern 类Javadoc 或者只是准备好尝试一下。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM