My String很大,当我在循环中读取每个String时,它会不断变化。它可以包含任何字符,如“,/,\。$,?,[,&,。,',),%,^,+,*等。我想逃避可能导致正则表达式的所有此类字符在Java中使用此字符串失败.Javascript在其中一个帖子中有类似的内容,就像这样 -
return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
Java有类似的东西吗?我不确定逃脱的角色应该是什么。像str.replaceAll(“[^ \ u0000- \ u00ff] +”,“”)那样做吗? (但是我在这里丢失数据,如果我用空格替换所有数据,我想避免这样做)
答案 0 :(得分:5)
使用此:
String myEscapedString = Pattern.quote(myRawString);