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 :)
(注意, replace
和replaceAll
之间有很大的区别 – 后者需要一个正则表达式。很容易得到错误的一个并看到截然不同的效果!)
另一种选择是:
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方法:
- 更换()
- 全部替换()