|
|
1
13
使用前70个字符,然后在下一个空白处停止,捕获过程中的所有内容。然后,发出捕获的字符串,在末尾省略空白,添加新行。 这并不能保证你的台词会被严格地剪成80个字符或其他什么字符。不能保证它消耗的最后一个字不会有十亿个字符长。 |
|
|
2
23
看看模块 Text::Wrap 或 Text::Autoformat . 根据您的需要,甚至GNU核心实用程序折叠(1)也可能是一个选项。 |
|
|
3
7
韦尔博格的答案在70个字符后的第一个空格处。这有一个缺陷,即从靠近行尾的长单词构成了一条过长的行。我建议将最后一个空格包装在第一个空格内,例如81个字符,或者如果您有一个80个字符的“word”,则将第一个空格包装,这样只有真正不易破损的行才会过长:
现代Perl:
|
|
|
4
5
通过使用 Text::Format
|
|
|
5
1
这是我一直用的那个。 与公认的解决方案不同,它将在换行长度之前换行(在本例中为75个字符),除非有一个非常长的字符串(如URL),在这种情况下,它只会将该字符串放在自己的行上,而不是将其断开。
第二个表单处理所有行尾:mac \r、unix \n、windows \r\n和teletype \n \r,但它用作替换的行尾取决于您在replacement子句中输入了什么:我使用了\n。
两个版本还将第一行之后的所有包装行缩进一个空格:如果不需要,请删除最后一行/g之前的空格,但我通常会发现它更好。 |
|
|
DotFX · RegEx捕获关键字前但括号后的所有内容 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |
|
|
iato · 确保正则表达式不从命名材料中的数字中提取 1 年前 |
|
|
vr8ce · 非成对标记中特定字符的正则表达式 1 年前 |
|
|
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 1 年前 |
|
|
Carsten · 使用最近的搜索模式更改文本块 1 年前 |