【问题标题】:Java String Special character replacementJava字符串特殊字符替换
【发布时间】:2009-07-10 06:24:10
【问题描述】:

我有一个包含字母数字和特殊字符的字符串。 我需要用一些字符串替换每个特殊字符。

例如,

输入字符串 = "ja*va st&ri%n@&" 预期的 o/p = "jaasteriskvaspacestandripercentagenatand"

  • =“星号” & = “和” % = "百分比" @ = "在"

谢谢,

【问题讨论】:

    标签: java


    【解决方案1】:

    除非您绝对渴望性能,否则我会使用一种非常简单的方法:

    String result = input.replace("*", "asterisk")
                         .replace("%", "percentage")
                         .replace("@", "at"); // Add more to taste :)
    

    (请注意,replacereplaceAll 之间存在很大差异 - 后者采用正则表达式。很容易弄错并看到完全不同的效果!)

    另一种选择是:

    public static String replaceSpecial(String input)
    {
        // Output will be at least as long as input
        StringBuilder builder = new StringBuilder(input.length());
    
        for (int i = 0; i < input.length(); i++)
        {
            char c = input.charAt(i);
            switch (c)
            {
                case '*': builder.append("asterisk"); break;
                case '%': builder.append("percentage"); break;
                case '@': builder.append("at"); break;
                default: builder.append(c); break;
            }
        }
        return builder.toString();
    

    【讨论】:

      【解决方案2】:

      看看下面的 java.lang.String 方法:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-13
        • 2011-05-08
        • 2016-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-17
        相关资源
        最近更新 更多