使用行分隔符获取额外的行
Getting extra line using row seperator
我正在使用此正则表达式按 2 个字符将一行分成多个组。
string.replaceAll("(.{2})", "\r\n")
这是一个例子。
像我输入的输入字符串是这样的
ABCDEFGHIJ
输出变成这样
Output
->AB
->CD
->EF
->GH
->IJ
->
有什么方法可以让我不收到最后的空行吗?
您有两个选择:
- 从结果中手动删除新行
- 将您的正则表达式更改为:
(.{2})(?!$)
现在正则表达式将捕获除最后一对之外的所有对,并且您不会用新行替换它。
其他方法可能是:
String.join(System.lineSeparator(), string.split("(?<=\G..)"))
使用 string.split("(?<=\G..)")
时,您将在每两个字符后拆分一次,但由于 split
默认情况下会删除尾随的空字符串,因此您不会在结果中得到它。所以 "ABCD"
变成 ["AB", "CD"]
数组。
然后使用 String.join(delimiter, elements)
您可以将数组中的元素连接成一个字符串,它们之间有指定的分隔符,在我们的例子中是 OS 行分隔符。
我正在使用此正则表达式按 2 个字符将一行分成多个组。
string.replaceAll("(.{2})", "\r\n")
这是一个例子。
像我输入的输入字符串是这样的
ABCDEFGHIJ
输出变成这样
Output
->AB
->CD
->EF
->GH
->IJ
->
有什么方法可以让我不收到最后的空行吗?
您有两个选择:
- 从结果中手动删除新行
- 将您的正则表达式更改为:
(.{2})(?!$)
现在正则表达式将捕获除最后一对之外的所有对,并且您不会用新行替换它。
其他方法可能是:
String.join(System.lineSeparator(), string.split("(?<=\G..)"))
使用 string.split("(?<=\G..)")
时,您将在每两个字符后拆分一次,但由于 split
默认情况下会删除尾随的空字符串,因此您不会在结果中得到它。所以 "ABCD"
变成 ["AB", "CD"]
数组。
然后使用 String.join(delimiter, elements)
您可以将数组中的元素连接成一个字符串,它们之间有指定的分隔符,在我们的例子中是 OS 行分隔符。