如何在java中转义某些字符

eli*_*472 3 java regex escaping

我需要转义字符一样^,.,[,],+\(制表符和换行符将不再是一个问题),同时保留其他像*?.

EDIT =更具体地说,我有一个包含这些字符的字符串,我需要将它们转义,以便它们不与正则表达式匹配.我需要预先添加\到每个字符中,但单独执行此操作需要7或8次扫描,我希望在一次传递中执行此操作(IE:匹配的任何内容前置\)

我该怎么做呢?

谢谢.

Gro*_*uez 6

这会有用吗?

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)