String[] tokens = "a b c".split(" ");
StringBuilder result = new StringBuilder();
for (String token : tokens) {
result.append("prefix_");
result.append(token);
result.append(" ");
}
result.deleteCharAt(result.length() - 1);
System.out.println(result.toString());
第一个示例的唯一问题是,在最后一个标记的末尾将有一个无关的空格
# 3 楼答案
可以使用正则表达式拆分字符串,并将其与结果数组上的循环放回一起:
public class Test {
public static void main (String args[]) {
String s = "a b c";
String[] s2 = s.split("\\s+");
String s3 = "";
if (s2.length > 0)
s3 = "pattern_" + s2[0];
for (int i = 1; i < s2.length; i++) {
s3 = s3 + " pattern_" + s2[i];
}
System.out.println (s3);
}
}
# 4 楼答案
希望我没有看错问题。你只是在寻找直接连接吗
String someString = "a";
String yourPrefix = "prefix_"; // or whatever
String result = yourPrefix + someString;
System.out.println(result);
# 1 楼答案
这是C#但应该很容易翻译成Java(但这不是一个非常聪明的解决方案)
更新
第一个解决方案的输出中没有空格。此解决方案要求输入中不出现占位符符号(#)
使用
StringBuilder
可能更有效# 2 楼答案
假设一个空间(} 方法拆分
" "
)的拆分字符,可以使用^{String
,然后每个新的String
可以附加prefix_
,然后连接回String
:输出:
如有必要,使用^{} 将提高性能:
第一个示例的唯一问题是,在最后一个标记的末尾将有一个无关的空格
# 3 楼答案
可以使用正则表达式拆分字符串,并将其与结果数组上的循环放回一起:
# 4 楼答案
希望我没有看错问题。你只是在寻找直接连接吗
我会告诉你
# 5 楼答案
可以使用String方法:replaceAll(String regex,String replacement)
您可能需要检查regexp以满足您的确切要求
# 6 楼答案
可以使用StringTokenizer在字符串上枚举,并使用“空格”分隔符,在循环中可以将前缀添加到枚举中的当前元素上。一句话:请参阅javadocs中的StringTokenizer
您也可以使用正则表达式和单词边界(“\b”),但这似乎很脆弱
另一种可能性是使用字符串。拆分以将字符串转换为字符串数组,然后在“a”、“b”和“c”数组上循环,并使用您选择的前缀作为数组元素的前缀