Как простым способом заменить несколько символов только одним? - PullRequest
4 голосов
/ 05 августа 2011

Я хочу заменить некоторые символы на ударение в строке, как в этом примере:

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

Это будет работать, но я хочу знать, есть ли какой-нибудь простой способ, которым я передаю все символы, которые должны быть заменены, и символ, который заменит их. Примерно так:

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

или

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

Я посмотрел на StringUtils из Apache Lang, но не существует таким образом, как я упоминал.

Ответы [ 6 ]

2 голосов
/ 05 августа 2011

Вы захотите посмотреть на

str.replaceAll(regex, replacement);

Вдобавок ко всему, я не могу вспомнить формат регулярных выражений Java, поэтому не могу дать вам формат, который улавливает эти три. На мой взгляд, это будет

'[áâã]'
1 голос
/ 05 августа 2011

Попробуйте .replaceAll(): str.replaceAll ('[áâã]', 'a');

0 голосов
/ 05 августа 2011
str.replaceAll("[áâã]","a");

Попробуйте это - это регулярное выражение, говорящее о замене вхождения каждого из символов на "a"

0 голосов
/ 05 августа 2011

Может быть простой originalString.replaceAll("á|â|ã", "a") подойдет

0 голосов
/ 05 августа 2011
str.replaceChars("áâã", "aaa");
0 голосов
/ 05 августа 2011

Это должно работать str.replaceAll ("[áâã]", 'a')

...