Java String特殊字符替换

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

例如,

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

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

谢谢,

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

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

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

  • 更换()
  • 全部替换()