gpt4 book ai didi

text-editor - 我需要一个文本编辑器来对所有选定的文本进行数学运算

转载 作者:行者123 更新时间:2023-12-02 03:35:50 25 4
gpt4 key购买 nike

假设我有一个如下所示的文档

(001 [bla bla bla
bla bla bla])
(002 [bla
bla bla])
(003 [bla bla bla
bla bla bla])
(004 [bla
bla bla])
...
(199 [bla bla bla bla
bla])

所以请注意带三位整数的左括号。是否有能够将特定整数添加到所有选定整数的文本编辑器。在 sublime text 中,我知道如何在选择第一个左括号 a 后按 ctrl+d 来选择所有这些整数,然后按一次向右箭头,然后按 shift 和向右箭头三次以选择所有这些整数。选择后,sublime text 中是否有一个函数可以对这些数字进行简单的加法运算。说 +10 这样整数将是 011, 012, 013, ..., 219。如果 sublime text 没有这个功能,有文本编辑器吗?

最佳答案

附带条件是它不是严格意义上的文本编辑器,而且肯定不是 SublimeText,我的实用程序 TextDistil会很容易地为你做到这一点:

  1. 使用匹配“\d+”和算术表达式“1+$0”添加一个新的“计算算术表达式”配方(将“1”更改为您要添加的任何数字。)
  2. 使用“pad text of left”将'\d+'填充到宽度为3
  3. 使用“替换文本”将“(”替换为“(00”
  4. 使用“替换文本”将“(”替换为“(0”

如果您的输入比这有点棘手,您可能需要更熟练地使用正则表达式匹配。

按照下面的评论,这是您需要执行的操作来匹配像“C11-001”这样的字符串...

您应该使用 'C11-(?< out>\d+)' 的匹配表达式和 '48+$1' 的算术替换(注意有并不是要在 <out 之间留一个空格,但没有它我无法让标记工作。)

这可能看起来有点神秘,所以我将尝试解释各个部分......

  • C11- 匹配您关心的字符串的第一部分,这意味着“裸”数字集将不匹配且不变
  • 'C11-(?< out>\d+)'中的括号表示匹配其中的词的事物将被计为组 1(第 0 组是整个事物,包括 C11-)。这就是算术表达式现在显示 $1 而不是 $0 的原因。
  • 看起来很奇怪的“? ”不是您可能认为的正则表达式的一部分。相反,它是一种特殊的语法,意味着括号内的匹配项是一个命名组。 (这是标准的 .Net 正则表达式语法。)TextDistil 假设您称为“out”的组应该用算术项的结果替换。如果缺少“out”组,它将使用 $0,这是整个匹配项,这就是我在前面的示例中没有使用它的原因。

因此总结以上内容,我们匹配所有看起来像 C11-001 等的字符串,然后将连字符后的数字提供给算术表达式,然后将该表达式的结果代回发生的“out”组也是连字符后的数字。

与前面的示例一样,如果您希望生成的文本在连字符后恰好使用 3 位数字,则可能需要添加一些额外的步骤。有多种方法可以做到这一点,但我建议通过添加几个像这样的标准文本替换来简单地强制执行它....

  • 'C11-(\d\d\D)' 替换为 C11-0$1 以将 2 位数字增加到 3
  • 'C11-(\d\D)' 替换为 C11-00$1 以将 1 位数字增加到 3

关于text-editor - 我需要一个文本编辑器来对所有选定的文本进行数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23549661/

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