我试图搜索字符串中的所有特殊字符并将其转义。输入字符串必须是故障安全的,所以我需要转义字符。
示例String查找示例如下:"Foo Bar "Gone Wild "- <br>Ted Talk</br> "
为了确保String看起来仍然相同,之后需要"Foo Bar \"Gone Wild \" \- \<br\>Ted Talk \<\/br\>"
我提出了这个解决方案:
final String[] metaCharacters = {"\\", "^", "$", "{", "}", "[", "]", "(", ")", ".", "*", "+", "?", "|", "<", ">", "-", "&", "#"};
String outputString = "";
for (int characterIndex = 0; characterIndex < metaCharacters.length; characterIndex++) {
if (inputString.contains(metaCharacters[characterIndex])) {
outputString = inputString.replace(metaCharacters[characterIndex], "\\" + metaCharacters[characterIndex]);
}
}
但我对此并不满意。它用Java编写。