JAVA 转义字符串中的特殊字符

时间:2023-03-09 16:50:40
JAVA 转义字符串中的特殊字符
package test;

import java.util.regex.Matcher;
import java.util.regex.Pattern; public class Test { public static void main(String[] args) {
String str = "789##$";
String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m1 = p.matcher(str);
if(m1.find()){
CharSequence cs = str;
int j =0;
for(int i=0; i< cs.length(); i++){
String temp = String.valueOf(cs.charAt(i));
Matcher m2 = p.matcher(temp);
if(m2.find()){
StringBuilder sb = new StringBuilder(str);
str = sb.insert(j, "\\").toString();
j++;
}
j++; //转义完成后str的长度增1
}
System.out.println(str);
}
}
}