有源字符串
str = "one
two
three
four
five
six
seven
eight
nine"
我想获取一个字符串数组
String[] mas;
mas[0] = "one
two
three
four"
mas[1] =five
six
seven
eight"
mas[2] ="nine"
我想要一个超出我的范围的函数来处理字符串数组。并且在数组的每一行中应该从原始字符串中获取 4 或 6 或 N 行
最佳答案
使用 String.split()
与 regex \\s+
(例如 \n+
,具体取决于您确切想要的内容)。
如果需要,您可以连接 2 个或更多字符串,但在使用 split()
获得数组之后- 这应该相当简单,尝试一下!
祝你好运。如果您在实现第二部分时遇到问题,请随时提出任何问题。
<小时/>编辑:似乎您在连接字符串时遇到了麻烦。这应该通过简单的迭代和 StringBuilder 来完成:
int SIZE = 4;
String[] arr = str.split("\\s+");
List<String> res = new ArrayList<>();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i]).append('\n');
if (i % SIZE == SIZE-1) {
res.add(sb.toString());
sb = new StringBuilder();
}
}
if (sb.length() != 0) res.add(sb.toString());
System.out.println(res);
}
请注意res
是 List<String>
,如果您希望将其作为数组,则可以随时使用 toArray()
方法。
关于java - 将字符串分解为字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22063953/