【发布时间】:2020-04-17 15:48:29
【问题描述】:
我正在处理一些 rawString,其中我需要从某些地方删除 \n,如果那里显示 \n,我需要在下一行删除一些地方。例如输入:-
** 由于冠状病毒的影响越来越重,LMT 将向其供应链中的中小型商业伙伴\n预付超过 5000 万美元,以保护就业,支持经济\n \n *新的生产线应该启动\n\正则 \n \n \n \n 文本。
我部分使用此代码得到结果
String str = input.replaceAll("\\n","~").replaceAll("~\\s+",System.lineSeparator()+System.lineSeparator()).replaceAll("~", " ");
我现在得到的结果:
** 随着冠状病毒的影响加重,LMT 将向其供应链中的中小型商业伙伴预付超过 5000 万美元,以保护就业、支持经济 *新行应该开始正常 文本。
但问题是我连续获得不止一次“\n”,所有\n都替换为一个“\n”,因为此时我得到“\n”的空间,它会进入下一个行,例如,在这种情况下,它就像“\n \n 关键字”一样,“关键字”在下一行中显示正确,但在该问题上方创建了一个额外的行。任何人都可以请帮忙。
预期:-
** 随着冠状病毒的影响加重,LMT 将向其供应链中的中小型商业伙伴预付超过 5000 万美元,以保护就业、支持经济 *新行应该开始正常 文本。
换行输入模式
\n \n \n SomeText,\n\n SomeText\n,\n \n\n SomeText
在以上所有模式中,someText 将在下一行开始。
图案只会创造空间
\nSomeText、\n\n\nSomeText\n\n、\nSomeText
在所有这些情况下,只会创建空间" ",
【问题讨论】:
-
根据此编辑,您想删除`\ns`之间的所有空格并且只想保留
\ns对吗? -
是的,完全删除所有
\ns之间的空格