如何用简单的方法将多个字符替换为一个字符?

4
我希望能将字符串中的一些字符替换为带重音符号的字符,例如以下示例:

str.replace('á','a');
str.replace('â','a');
str.replace('ã','a');

这个方法可以实现,但我想知道是否有一种简单的方式,通过传递所有要替换的字符及其替换的字符来实现。 类似于这样:

replace(str,"áâã",'a');

或者:

char[] chars = {'á','â','ã'};
replace(str,chars,'a');

我查看了Apache Lang中的StringUtils,但并没有我提到的这种方式。

正则表达式可能是最简单的方法。 - Rudu
6个回答

2

您需要查看

str.replaceAll(regex, replacement);

凭记忆,我无法回想起Java的正则表达式格式,因此我无法给出捕获这三个的格式。在我看来,它应该是

'[áâã]'

1
尝试使用 .replaceAll():str.replaceAll('[áâã]', 'a');

0
str.replaceChars("áâã", "aaa");

replaceChars?这是从哪里来的? - Renato Dinhani
StringUtils; 这是 OP 所说他正在使用的工具。 - Julian Fondren

0
str.replaceAll("[áâã]","a");

试试这个 - 这是一个正则表达式模式,表示将每个字符的出现替换为 "a"


0

这应该可以工作 str.replaceAll("[áâã]",'a')


0

也许一个简单的originalString.replaceAll("á|â|ã", "a")就可以了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接