Notepad ++:删除字符串中的多个字符后的所有内容

时间:2015-01-24 10:31:39

标签: regex notepad++ limit

以下是Notepadd ++中每行24个字符的示例。我需要将每行的字符数限制为14个字符。

  

天啊,她今天过得怎么样?

我需要它看起来如下:

  

天啊,怎么样?

我使用了这段代码

Find what: ^(.{1,14}).*
Replace with: $1

然而,它显示"地狱,s"它是如何拼写错误的。

如何在Notepad ++中将字符数限制为每行14个字符并删除最后一个字?

3 个答案:

答案 0 :(得分:2)

这就是你想要的:

找到:^(.{1,14}) .*$
替换为:$1

如果有空格,这将截断14个字符或更少。

答案 1 :(得分:2)

这应该适合你:

找到:^(.{1,14}(?<=\S)\b).*$

替换为:$1

因此对于Hell, how is she today ?,输出为:Hell, how is

DEMO

^                # The beginning of the string
(                # Group and capture to \1:
  .{1,14}        # Any character except \n (between 1 and 14 times (matching the most amount possible))
  (?<=\S)        # This lookbehind makes sure the last char is not a space
  \b             # The boundary between a word char (\w). It matches the end of a word in this case
)                # End of \1
.*$              # Match any char till the end of the line

答案 2 :(得分:1)

也可以使用\K作为可变长度的lookbehind并替换为nothing:

^.{0,13}\w\b\K.*

\w匹配word character\bword boundary

Test at regex101.com