![](/img/trans.png)
[英]What is the best way to replace all special characters with their full names in a String Java?
[英]What is the best way to replace not allowed characters in a string?
在我的一个项目中,我需要删除除 aZ 和 1-9 之外的所有不寻常字符。 我找到了一种方法,但我认为我的解决方案丑陋且效率不高。
有什么方法可以改进我的解决方案以提高效率?
public static String removeSpecialCharactersAndHTML(String text) {
String result = text;
result = result.replace(">", ">");
result = result.replace("<", "<");
result = result.replace("&", "&");
result = result.replace(""", "\"");
result = result.replace(" ", " ");
result = result.replace("&", "&");
result = result.replace("]]>", "");
result = result.replace("‘", "'");
result = result.replace("’", "'");
result = result.replace("`", "'");
result = result.replace("´", "'");
result = result.replace("“", "\"");
// .....
result = result.replace("”", "\"");
result = result.replace("³", "3");
result = result.replace("²", "2");
return result
}
要从字符串中删除HTML,您不应编写自己的代码,而应使用一些现有的库。 他们不会处理代码中的许多错误。
替换某些字符的方法很好。 但最后,您必须从字符串中删除所有终端不会处理的字符。 即,定义允许的字符,而不是定义禁止的字符。
如果您还需要删除空格,则可以使用以下方法:
result = result.replaceAll("[^a-zA-Z0-9]", "");
如果你想在你的字符串中有空格,你可以使用这种方法:
result = result.replaceAll("[^a-zA-Z0-9\\s]", "");
还建议使用第三方库提供 go。 你也可以用这个
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.