Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用行分隔符获取额外行_Java_Regex_String_Replaceall - Fatal编程技术网

Java 使用行分隔符获取额外行

Java 使用行分隔符获取额外行,java,regex,string,replaceall,Java,Regex,String,Replaceall,我使用这个正则表达式将一行按2个字符分成多个组 string.replaceAll("(.{2})", "$1\r\n") 这里有一个例子 我的输入字符串是这样的 ABCDEFGHIJ Output ->AB ->CD ->EF ->GH ->IJ -> 我变得像这样了 ABCDEFGHIJ Output ->AB ->CD ->EF ->GH ->IJ -> 有没有办法不让我收到最后的空行?您有两个选择: 手动

我使用这个正则表达式将一行按2个字符分成多个组

string.replaceAll("(.{2})", "$1\r\n")
这里有一个例子

我的输入字符串是这样的

ABCDEFGHIJ
Output
->AB
->CD
->EF
->GH
->IJ
->
我变得像这样了

ABCDEFGHIJ
Output
->AB
->CD
->EF
->GH
->IJ
->
有没有办法不让我收到最后的空行?

您有两个选择:

  • 手动从结果中删除新行
  • 将正则表达式更改为:
    (.{2})(?!$)

现在正则表达式将捕获除最后一对之外的所有对,并且您不会用新行替换它

其他方法可以是:

String.join(System.lineSeparator(), string.split("(?<=\\G..)"))

String.join(System.lineSeparator(),String.split((?它不是有效的String.replaceAll((.{2})(?!$)))replaceAll(String,String)错误,因为如果我跟随它,它只有一个参数yours@kelly
string.replaceAll((.{2})(?!$),“$1\r\n”)
Hi@Pshemo..您能告诉我一件事吗…在使用行分隔符“\n”作为输入文件行分隔符进行正确拆分后,我正在像上面示例中提到的那样再次读取文件。并使用行分隔符“\r\n”将文件拆分为多个文件。\r\n“用于输出文件。但是我收到一行额外的内容,就像我在问问题一样。有什么建议吗?对不起,您能进一步澄清您的问题吗?我不确定您所说的“像上面的示例中提到的那样再次阅读文件”是什么意思”因为所有发布的示例都不包括读取文件,而只处理字符串中的文本。我只能假设拆分文件意味着在字符串中添加行分隔符。无论如何,如果没有看到,我只能猜测您可以使用
println()
而不是
print()
在打印文本后添加行分隔符。在
\r\n
中仅处理
\n
时,您也可能会忘记
\r\n
。我想说的是。