【发布时间】:2011-06-14 21:17:27
【问题描述】:
我有这个字符串8S8Q4D1SKCQC2C4S6H4C6DJS2S1C6C
如何将此字符串拆分为每个子字符串包含 2 个字符的子字符串?我很困惑,因为我找不到分隔符来分割它们。
【问题讨论】:
标签: java string split substring
我有这个字符串8S8Q4D1SKCQC2C4S6H4C6DJS2S1C6C
如何将此字符串拆分为每个子字符串包含 2 个字符的子字符串?我很困惑,因为我找不到分隔符来分割它们。
【问题讨论】:
标签: java string split substring
System.out.println(Arrays.toString(
"8S8Q4D1SKCQC2C4S6H4C6DJS2S1C6C".split("(?<=\\G.{2})")
));
【讨论】:
【讨论】:
您必须自己进行这样的拆分。您可以通过以下方式使用类似子字符串的内容:
public String[] customSplit(String src, int size) {
Vector<String> vec = new Vector<String>();
for(int i = 0; i < src.length(); i += size) {
vec.add(src.substring(i, (i+size > src.length()) ? src.length() : i+size);
}
return vec.toArray();
}
【讨论】:
split带有一个粗糙的正则表达式可能会明显变慢。如果他使用String[] 而不是Vector,OTOH @nybbler 的代码会更快。所以我的这个答案没有 +1。
src 的长度和size 的值来计算所需的数组大小。
for (int i = 0; i < a[2].Length; i++)
{
string ss = (8S8Q4D1SKCQC2C4S6H4C6DJS2S1C6C).Substring(i, 2);
Console.Write(ss);
i++;
}
【讨论】: