1需求描述
在java中编写程序,可能会出现一些转义字符如:($()*+.[]?\^{},|),我有的时候程序会自动报出错误,但是我又不会增加转义字符让其转义,导致我程序无法运行。
2解决方案
解决思路若你的字符串包含一个必须转义的字符,则首先需要将包含转义的字符放入数组中,根据java循环输出遍历的特性,在数据遍历输出的时候进行临时替换增加\\转义,则此字符串就能被识别,代码见下面
3代码实现
public static String escapeExprSpecialWord(String keyword) {
if (StringUtils.isNotBlank(keyword)) {
String[] fbsArr = { "\\", "$", "(", ")", "*", "+", ".", "[", "]", "?", "^", "{", "}", "|" };
for (String key : fbsArr) {
if (keyword.contains(key)) {
keyword = keyword.replace(key, "\\" + key);
}
}
}
return keyword;
}
4测试程序