如何在java中转换逗号分隔字符中的给定字符串?
public class StringDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
String name = "String";
char[] c = name.toCharArray();
for (char ch : c) {
System.out.print(ch);
System.out.print(",");
}
}
}
这给我的输出是
S,t,r,i,n,g,
我不想要最后一个逗号,如何得到S,t,r,I,n,g的输出
# 1 楼答案
当然可以,但是对于这一点,您需要一个基于c长度的
for
循环,其他解决方案并不像IMHO那样直接:# 2 楼答案
您还可以在更高的级别上执行此操作,而无需编写自己的循环。它并没有更快,但代码更清楚地说明了它在做什么:“将我的字符串拆分为多个字符,然后重新连接在一起,用逗号分隔!”
编辑:
String.join()
可从Java1.8及更高版本获得# 3 楼答案
您可以使用
Stream
来实现这一点。请在下面查看输出:
# 4 楼答案
我个人会使用^{} 来完成这项任务
您需要的是应用一些逻辑来区分是否需要逗号。您可以像以前一样循环遍历字符,并且总是在下一个字符之前添加逗号,第一次迭代除外
例如:
输出:
另一种方法是不使用
StringBuilder
,只使用传统的for循环,但使用相同的逻辑:输出:
# 5 楼答案
另外加2美分:
您可以对字符
int
值进行流式处理,将它们映射到一个List<String>
,其中每个元素都是单个char
作为String
,最后使用String.join(..., ...)
以获得所需的结果,原始String
中所有字符的String
用逗号分隔:运行此代码将产生以下输出:
这只是得到你想要的结果的另一种可能性,它不一定是最好的解决方案