我目前正在尝试将一个字符串拼接到多行字符串中。 正则表达式应选择在之前有13个字符的空格。
问题是,13个字符计数在先前选择的空格后不会重置。 因此,在第一个13个字符之后,正则表达式选择每个空格。
我正在使用以下具有13个字符的正向后查找
的正则表达式:
(?<=.{13})
您可以在这里测试正则表达式以及以下代码:
import java.util.ArrayList;
public class HelloWorld{
public static void main(String []args){
String str = "This is a test. The app should break this string in substring on whitespaces after 13 characters";
for (String string : str.split("(?<=.{13}) ")) {
System.out.println(string);
}
}
}
这段代码的输出如下:
但应该是这样的:这是一个测试。
应用程序
应该在
字符串中断开
在空格后的子字符串上
在13个字符后
这是一个测试。
应用程序应该
在字符串中断开
在空格后的子字符串上
在13个字符后
$0
进行反向引用。 - Wiktor Stribiżew(?x)
),字符类内部的空格也会被忽略,因此这样做并没有太多意义。我只是添加了它们以突出空格。 - Wiktor Stribiżew