【发布时间】:2009-07-10 06:24:10
【问题描述】:
我有一个包含字母数字和特殊字符的字符串。 我需要用一些字符串替换每个特殊字符。
例如,
输入字符串 = "ja*va st&ri%n@&" 预期的 o/p = "jaasteriskvaspacestandripercentagenatand"
- =“星号” & = “和” % = "百分比" @ = "在"
谢谢,
【问题讨论】:
标签: java
我有一个包含字母数字和特殊字符的字符串。 我需要用一些字符串替换每个特殊字符。
例如,
输入字符串 = "ja*va st&ri%n@&" 预期的 o/p = "jaasteriskvaspacestandripercentagenatand"
谢谢,
【问题讨论】:
标签: java
除非您绝对渴望性能,否则我会使用一种非常简单的方法:
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 方法:
【讨论】: