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

时间:2011-08-05 17:41:02

标签: java replace char

我想用String中的重音替换一些字符,如下例所示:

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

这会有效,但我想知道是否有一些简单的方法可以传递所有要替换的字符以及将替换它们的字符。 像这样的东西:

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

或:

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

我从StringUtils查看Apache Lang,但不是我提到的那种方式。

6 个答案:

答案 0 :(得分:2)

你想要看看

str.replaceAll(regex, replacement);

在我的脑海中,我无法回想起Java的正则表达式格式,因此我无法为您提供一种能够捕获这三种格式的格式。在我看来,它将是

'[áâã]'

答案 1 :(得分:1)

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

答案 2 :(得分:0)

这应该适用于str.replaceAll(“[áãã]”,'a')

答案 3 :(得分:0)

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

答案 4 :(得分:0)

也许一个简单的originalString.replaceAll("á|â|ã", "a")会做

答案 5 :(得分:0)

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

试试这个 - 这是一个正则表达式模式,用“a”替换每个字符的出现