gpt4 book ai didi

regex - 如何在字边界后打印字符

转载 作者:行者123 更新时间:2023-12-02 21:31:40 26 4
gpt4 key购买 nike

我有下面这行代码,它用于将一个长句子分成指定字符长度的片段,并且只能在单词边界上进行拆分:

print "$_\n" for grep substr($_, 0, 80), /(.{1,80}\b)/g;

如果它适用于以下行:

So-called smartguns have been in the works for years but haven’t gotten much traction.

它不会打印“.”词牵引后。我能做什么来修复它?谢谢

最佳答案

正则表达式的目标是长度不超过 80 个字符,并且以非空格结尾。它后面应该跟一个空格或字符串结尾,然后我们应该吞噬所有后面的空格,以便下一行从一个字符开始。可以找到网络提供的描述 here .

while (<DATA>) {
chomp(my $line = $_);

print "$_\n" for $line =~ /(.{1,80})(?<=\S)(?=\s|$)\s*/g;
}

__DATA__
So-called smartguns have been in the works for years but haven't gotten much traction.

也可以只依赖cpan Text::Wrap

关于regex - 如何在字边界后打印字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22162533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com