eli*_*472 3 java regex escaping
我需要转义字符一样^,.,[,],+和\(制表符和换行符将不再是一个问题),同时保留其他像*和?.
EDIT =更具体地说,我有一个包含这些字符的字符串,我需要将它们转义,以便它们不与正则表达式匹配.我需要预先添加\到每个字符中,但单独执行此操作需要7或8次扫描,我希望在一次传递中执行此操作(IE:匹配的任何内容前置\)
我该怎么做呢?
谢谢.
这会有用吗?
StringBuilder sb = new StringBuilder();
for (char c : myString.toCharArray())
{
switch(c)
{
case '[':
case ']':
case '.':
case '^':
case '+':
case '\\':
sb.append('\\');
// intended fall-through
default:
sb.append(c);
}
}
String escaped = sb.toString();
Run Code Online (Sandbox Code Playgroud)