Java String特殊字符替换

时间:2009-07-10 06:24:10

标签: java

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

例如,

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

  • =“星号” &安培; =“和” %=“百分比” @ =“at”

感谢,

2 个答案:

答案 0 :(得分:8)

除非你绝对渴望表现,否则我会采用一种非常简单的方法:

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();

答案 1 :(得分:0)

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