我想使用正则表达式拆分一个字符串,就像在这个example中一样, 但在我的情况下,我希望新行中的每个单词不超过X个字符。
所以下面的代码没有做到这一点,因为它找到了至少X个非换行符(而不是max X)的每个实例。
s = s.replaceAll("(.{" + x + ",}?)\\s+", "$1\n");
我可以使用其他方法轻松完成此操作,但我想使用REGEX
答案 0 :(得分:3)
试试这个:
s = s.replaceAll("(.{0,"+ x+"})\\b", "$1\n");
或修剪版本,
s = s.replaceAll("(?:\\s*)(.{1,"+ x +"})(?:\\s+|\\s*$)", "$1\n")