Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从字符串中删除一些特殊字符?_Java_String - Fatal编程技术网

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之后出现

是否有任何公共函数,或者我将使用正则表达式从字符串中用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
,它执行了
规范合成的额外步骤。我不是这些方面的专家,但我希望我已经能透露一些情况