【发布时间】:2015-10-30 20:08:40
【问题描述】:
在正则表达式处理期间,似乎有一个包含字符 { 或 } 的字符串被拒绝。我可以理解这些是保留字符,我需要转义它们,所以如果我这样做:
string.replaceAll("\\" + pattern);
这可行,其中pattern 是任何以{ 开头的字符串。
问题:有没有办法避免已经包含此类元字符的字符串出现此类问题,以便自动处理?在我看来,它应该与在字符串文字中添加双引号与接受已经具有双引号的字符串作为输入相同
【问题讨论】:
-
使用
replace而不是replaceAll。 -
@Pshemo:他们的行为不同?
-
阅读文档...
replace(char, char)和replace(String, String)都应该适合你。 -
如果任何答案对您有所帮助,请接受它以指出正确的解决方案!