如何拆分保留空元素的字符串?
How to split a string preserving empty elements?
拆分"TEST/TEST/".split("/")
时我会得到一个length = 2
的字符串数组。
如何将 length = 3
与元素 ["TEST", "TEST", ""]
拆分,从而使最后一个元素为空字符串?
(我想用原生 Java 实现这一点,并且关于性能,因为拆分必须一个接一个地在几百万行上进行)。
您可以使用 split
重载参数化所需数组元素的数量:
String input = "TEST/TEST/";
System.out.println(Arrays.toString(input.split("/", 3)));
// or: input.split("/", -1)
输出
[TEST, TEST, ]
备注
- 不需要转义正斜杠
- 您问题的 "performance" 部分有点难以回答,除非您提供更多详细信息
- 您可能希望对您的过程进行多线程处理。在 Java 7 中,您可以使用 fork/join 框架
- 正如 Pshemo 指出的那样,您可以使用否定
int
来应用模式...
as many times as possible and the array can have any length.
(来自 API)。
拆分"TEST/TEST/".split("/")
时我会得到一个length = 2
的字符串数组。
如何将 length = 3
与元素 ["TEST", "TEST", ""]
拆分,从而使最后一个元素为空字符串?
(我想用原生 Java 实现这一点,并且关于性能,因为拆分必须一个接一个地在几百万行上进行)。
您可以使用 split
重载参数化所需数组元素的数量:
String input = "TEST/TEST/";
System.out.println(Arrays.toString(input.split("/", 3)));
// or: input.split("/", -1)
输出
[TEST, TEST, ]
备注
- 不需要转义正斜杠
- 您问题的 "performance" 部分有点难以回答,除非您提供更多详细信息
- 您可能希望对您的过程进行多线程处理。在 Java 7 中,您可以使用 fork/join 框架
- 正如 Pshemo 指出的那样,您可以使用否定
int
来应用模式...
as many times as possible and the array can have any length.
(来自 API)。