gpt4 book ai didi

正则表达式在字符串的第 n 个字符处或之前查找空格

转载 作者:行者123 更新时间:2023-12-05 01:23:19 25 4
gpt4 key购买 nike

我需要在字符串的第 n 个字符处或之前找到空格字符。

示例,假设字符串中的 n 为 20:

 Find one space in the right place
^ ^ ^ ^
0 10 M 20

h 在第 20 个位置,在这种情况下,我需要找到第 20 个位置之前的第一个空格,即第 18 个位置的单词“the”之前的空格,刚好在 上方男 .

我可以使用正面的lookbehinds找到第n个字符,例如
(?<=.{80}).

但随后我需要返回,直到找到第一个空格字符 我不知道怎么做。

我正在使用不支持可变长度lookbehinds的 Notepad++ ,如果可能的话,我想要一个答案,允许我也在 Notepad++ 中使用正则表达式。谢谢。

最佳答案

您可以使用此正则表达式(在引号内但不包括引号):

"^.{1,19} "

注意末尾的空格。

我已经用 Notepad++ 6.1.5(发布时的最新版本)对此进行了测试。根据 feature list ,正则表达式与 PCRE 兼容(后视工作,但仅限固定宽度)。上面的正则表达式不适用于我目前拥有的旧版本(Notepad++ 5.9)。

由于您需要用其他东西替换空格,您可能希望使用捕获组来保留文本并仅替换空格(在引号内但不包括引号):
"^(.{1,19}) " (Find)
"\1replace_space" (Replace)

注意:正则表达式将搜索第 20 个字符之前或第 20 个字符处的空格。如果您希望空格严格在第 20 个字符之前,请将 19 更改为 18。

关于正则表达式在字符串的第 n 个字符处或之前查找空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11934792/

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