Java 如何从字符串中删除一些特殊字符?
我有一根绳子Java 如何从字符串中删除一些特殊字符?,java,string,Java,String,我有一根绳子 String str = "Test & 123 - Formula Nº 2"; 当我通过Mandrill API发送电子邮件时,则Nº此特殊字符仅在N之后出现 是否有任何公共函数,或者我将使用正则表达式从字符串中用1替换1 我已经有了这个解决方案 String result = str.replaceAll("[º]", ""); 有更好的解决方案吗?使用java.text.Normalizer应该适合此用
String str = "Test & 123 - Formula Nº 2";
当我通过Mandrill API发送电子邮件时,则Nº
此特殊字符仅在N之后出现
是否有任何公共函数,或者我将使用正则表达式从字符串中用1替换1
我已经有了这个解决方案
String result = str.replaceAll("[º]", "");
有更好的解决方案吗?使用
java.text.Normalizer
应该适合此用例和其他用例,至少您有一个标准解决方案,不需要处理和维护正则表达式
String str=“Test&123-公式编号2”;
System.out.println(“Normalizer.normalize(str,Normalizer.Form.NFKD)=”+Normalizer.normalize(str,Normalizer.Form.NFKD));
印刷品
Normalizer.normalize(str, Normalizer.Form.NFKD) = Test & 123 - Formula No 2
使用
java.text.Normalizer
应该适合此用例和其他用例,至少您有一个标准解决方案,不需要处理和维护正则表达式
String str=“Test&123-公式编号2”;
System.out.println(“Normalizer.normalize(str,Normalizer.Form.NFKD)=”+Normalizer.normalize(str,Normalizer.Form.NFKD));
印刷品
Normalizer.normalize(str, Normalizer.Form.NFKD) = Test & 123 - Formula No 2
str.replace(“Nº”、“N”)
str.replace(“Nº”、“N”)
它可以工作,先生。但问题是,我们为什么使用NFKD
?在NFD、NFC、NFKD、NFKC中。ThanksHi@Jackson,这是因为NFKD
为我们提供了您的用例所需的兼容性。您还可以使用NKFC
,它执行了规范合成的额外步骤。我不是这些方面的专家,但我希望我能为你的作品提供一些线索,先生。但问题是,我们为什么使用NFKD
?在NFD、NFC、NFKD、NFKC中。ThanksHi@Jackson,这是因为NFKD
为我们提供了您的用例所需的兼容性。您还可以使用NKFC
,它执行了规范合成的额外步骤。我不是这些方面的专家,但我希望我已经能透露一些情况