Java String特殊字符替换 [英] Java String Special character replacement

查看:2916
本文介绍了Java String特殊字符替换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have string which contains alpahanumeric and special character. I need to replace each and every special char with some string.

例如,

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

Input string = "ja*va st&ri%n@&" Expected o/p = "jaasteriskvaspacestandripercentagenatand"


  • =asterisk
    & =和
    %=百分比
    @ =at

谢谢,

推荐答案

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

Unless you're absolutely desperate for performance, I'd use a very simple approach:

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

(请注意,替换和 replaceAll - 后者采用正则表达式。很容易得到错误的并看到截然不同的效果!)

(Note that there's a big difference between replace and replaceAll - the latter takes a regular expression. It's easy to get the wrong one and see radically different effects!)

另一种选择是:

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

这篇关于Java String特殊字符替换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆