java如何在字符串数组之间添加单词?
我想在数组中的每个字符串之间附加单词AND
,但我不希望它位于字符串的末尾。以下是我正在尝试的:
假设我想通过First, Second, Third
public void addString(String... myString) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < myString.length -1;) {
sb.append("(" + myString[i] + " AND " + myString[i+1] + ")");
i++;
}
System.out.println(sb);
}
我的输出是(First AND Second)(Second AND Third)
但我想要(First AND Second AND Third)
我做错了什么
# 1 楼答案
您可以执行以下操作-
Arrays.asList(myString)
将array
转换为List
李>toString()
将其转换为类似[ele1, ele2, ele 3]
的字符串李>replaceAll
和replace
方法给出 适当的输出李>第二个选项是使用^{} 提供的^{} 方法
# 2 楼答案
在元素之间使用分隔符时,最常用的方法是先添加分隔符,然后添加字符串。只跳过第一个元素之前的分隔符
如果你打电话给
addString("First", "Second", "Third")
,你会得到只需1个输入
addString("First")
就可以很好地工作甚至是空输入
addString()
,这会使我在这里看到的大多数其他解决方案崩溃可以将打印第一个元素移出循环,这样循环就不必检查是否需要省略分隔符(性能增益最小),但这会导致代码可读性降低。例如:
# 3 楼答案
为了满足您的需求,我可能会在StringUtils中使用
join
方法StringUtils.join Docs
从文件中:
# 4 楼答案
调整你的答案如下:
唯一的变化是:
(
的StringBuilder
"AND"
)
算法的重复部分是放置内部元素的部分。这也包括
myString
具有长度1
的情况。如果没有元素,则跳过最后一次添加,并添加结束“)”