use*_*475 7 java stringbuilder
我有不同类型的名字.喜欢
ABC BCD, EFG HGF, HGF HJK
Run Code Online (Sandbox Code Playgroud)
我想,以取代过去,用"and".所以,格式将是这样的
ABC BCD, EFG HGF & HGF HJK
Run Code Online (Sandbox Code Playgroud)
我试过这个
names = "Jon Benda, Jon Wetchler, Thomas Leibig "
StringBuilder sbd = new StringBuilder();
String[] n = getNames.split("\\s+");
System.out.println(n.length);
for (int i = 0; i < n.length; i++) {
sbd.append(n[i]);
System.out.print(n[i]);
if (i < n.length - 3)
sbd.append(" ");
else if (i < n.length - 2)
sbd.append(" & ");
}
System.out.print("\n");
System.out.print(sbd);
Run Code Online (Sandbox Code Playgroud)
Mar*_*oun 23
为什么要过度复杂化呢?您可以搜索最后,使用的索引,String#lastIndexOf然后使用StringBuilder#replace:
int lastIdx = names.lastIndexOf(",");
names = new StringBuilder(names).replace(lastIdx, lastIdx+1, "and").toString();
Run Code Online (Sandbox Code Playgroud)
你可以做这样的事情.
public static void main(String[] args) {
String names = "Jon Benda, Jon Wetchler, Thomas Leibig ";
String newNames = "";
StringBuilder sbd = new StringBuilder();
String[] n = names.split(",");
System.out.println(n.length);
for (int i = 0; i < n.length; i++) {
if (i == n.length - 1) {
newNames = newNames + " and " + n[i];
} else {
newNames = newNames + n[i] + " ";
}
}
System.out.println(newNames);
}
Run Code Online (Sandbox Code Playgroud)
这输出
Jon Benda Jon Wetchler and Thomas Leibig
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7915 次 |
| 最近记录: |