【问题标题】:How I replace multiple chars with only one char in a simple way?如何以简单的方式仅用一个字符替换多个字符?
【发布时间】:2011-10-21 02:01:49
【问题描述】:

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

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

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

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

或:

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

我从Apache Lang 中查看了StringUtils,但我提到的这种方式不存在。

【问题讨论】:

  • 正则表达式可能是最简单的方法。

标签: java replace char


【解决方案1】:

你会想看看

str.replaceAll(regex, replacement);

在我的脑海中,我不记得 Java 的正则表达式格式,所以我不能给你一个捕捉这三种格式的格式。在我看来,应该是

'[áâã]'

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:
        str.replaceChars("áâã", "aaa");
        

        【讨论】:

        • 替换字符?这是哪里来的?
        • StringUtils;这是 OP 说他正在使用的。
        【解决方案5】:

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

        【讨论】:

          【解决方案6】:
          str.replaceAll("[áâã]","a");
          

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

          【讨论】:

            猜你喜欢
            • 2013-12-29
            • 2021-06-08
            • 1970-01-01
            • 2020-07-12
            • 1970-01-01
            • 2015-01-03
            • 1970-01-01
            • 2014-02-12
            • 1970-01-01
            相关资源
            最近更新 更多