【发布时间】:2011-05-04 08:49:03
【问题描述】:
要求:我有很多行的内容。我需要提取第一行并在之后添加新行。
条件:第一行可以. , ? , !结尾,后跟空格,大写字母或任意数字。 . , ? , ! 之后可能已经有新行。在这种情况下,我们需要用单行替换那些额外的新行
例如,如果内容是
案例1
我的名字是abc。我在软件部门工作.....
或
案例2
我的名字是abc。 我在软件部门工作...
在这两种情况下,结果都应该像
我的名字是abc。 我在软件部门工作...
解决方案:我尝试过的:
$$text =~ s/(.+?[\.\?!$])(\n*)(\s[A-Z0-9])/$1\n$3/smi ;
在第二种情况下工作正常。但它不是在第一种情况下添加新行。 请推荐
【问题讨论】:
-
认为格式可能会毁了你的例子.. ?