【问题标题】:notepad++ how to insert replacement after the following wordnotepad ++如何在以下单词后插入替换
【发布时间】:2019-11-05 20:34:16
【问题描述】:
text: [aa-b c d...]
result: [b-123 c d...]

text:[aa-word1 word2 word3 ...]
result[word1-123 word2 word...]

[aa-bananas oranges apples]
[bananas-123 oranges apples]

我想替换aa-,但-123 只能放在下一个单词之后。 下一个单词应该是一个参数,而不是像插入 aa- 这样的固定文本。这是因为有很多不同的情况需要替换。

我会将“aa-”更改为许多其他变体。 “bb-” “cc-”... 但是 word1 在文本中始终是一个变量。

【问题讨论】:

  • 欢迎来到 SO!恐怕我没有效仿你的榜样。我还担心当您说“还有更多案例要替换”时,一个示例对于您的用例来说不够通用。你能澄清一下你在问什么吗? 4-5 个例子会很棒(或者足以涵盖任何潜在的边缘情况)。
  • 文本:[aa-word1 word2 word3 ...] 结果[word1-aa word2 word...] [aa-bananas oranges apples] [bananas-aa oranges apples] 我会改变“ aa-" 到许多其他变体。 "bb-" "cc-"...但是word1在文本中始终是一个变量。
  • 请编辑帖子以包含此信息,谢谢。基本上,您正在交换带连字符的单词?这里的规则到底是什么?
  • 基本上,是的。但是我需要知道的是如何在下一个单词之后才传输替换,这是无法更改的。
  • 我仍然没有真正按照您的要求进行操作。如何识别应该替换的第一个单词?您可以发布 10-15 行文本吗?括号是字符串的一部分吗?破折号是字符串的一部分吗?在我看来你想找到一个连字符的单词,将第二个单词移到第一个单词,然后用 123 替换第一个单词?看起来你想要\w+\-(\w+),替换为$1-123,但我不能确定。

标签: replace notepad++ boundary


【解决方案1】:
  • Ctrl+H
  • 查找内容:\[aa-(\w+)
  • 替换为:[$1-123
  • 检查匹配大小写
  • 检查环绕
  • 检查正则表达式
  • 全部替换

说明:

\[          # opening square bracket
aa          # literally 2 a
-           # hyphen
(\w+)       # group 1, 1 or more word character

给定示例的结果:

[b-123 c d...]
[word1-123 word2 word3 ...]
[bananas-123 oranges apples]

屏幕截图:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-22
    • 2020-07-29
    • 1970-01-01
    • 2013-11-09
    • 2012-12-23
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多