Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.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_Replace - Fatal编程技术网

在java中用一个字符替换多个单个字符?

在java中用一个字符替换多个单个字符?,java,replace,Java,Replace,在PHP中,我可以执行以下操作: $str = preg_replace("/(à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ)/", 'a', $str); 意味着在一个包含任何字符的字符串中,比如a,á,a,ả, ......将替换为a 如何在Java中实现等价性?类似的东西: str.replace("Your character sequence" , "a"); String output = input.replaceAll("[àáạảãâầấậẩẫăằắặ

在PHP中,我可以执行以下操作:

$str = preg_replace("/(à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ)/", 'a', $str);
意味着在一个包含任何字符的字符串中,比如a,á,a,ả, ......将替换为a


如何在Java中实现等价性?

类似的东西:

str.replace("Your character sequence" , "a");
String output = input.replaceAll("[àáạảãâầấậẩẫăằắặẳẵ]","a");

非常相似的东西:

String output = input.replaceAll("[àáạảãâầấậẩẫăằắặẳẵ]","a");
您可能希望使用以下方法解决此问题:

import java.text.Normalizer;
import java.text.Normalizer.Form;

// ...

public static String removeAccents(String text) {
    return text == null ? null
        : Normalizer.normalize(text, Form.NFD)
            .replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
}
这将删除任何脚本中任何字母的所有变音符号。

您可能希望用于解决此问题:

import java.text.Normalizer;
import java.text.Normalizer.Form;

// ...

public static String removeAccents(String text) {
    return text == null ? null
        : Normalizer.normalize(text, Form.NFD)
            .replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
}

这将删除任何脚本中任何字母的所有变音符号。

请参阅:请参阅:当我尝试运行此代码时,我的编译器会说更改编码或删除不支持的字符。如何使其工作?这意味着源文件包含编译器不理解的字符。如果看不到整个源文件,我无法判断发生了什么。当我尝试运行此代码时,我的编译器会说更改编码或删除不受支持的字符。如何使其工作?这意味着源文件包含编译器不理解的字符。如果不看完整的源文件,我就说不出发生了什么。