如何将 Notepad++ 中特定单词或短语的所有实例移动到特定的列号?

如何将 Notepad++ 中特定单词或短语的所有实例移动到特定的列号?

我不确定这是否可行,但我需要使用 Notepad++ 将该单词的所有实例移动到 txt 文档中的 USA列中。130

我并不“认为”这需要任何正则表达式,所以我在这里发布了它,但我开始改变想法。

我主要需要知道如何移动,USA但如果知道如何移动,包括移动之后的一切,那就太好了,这样我就不必再回来问了。我倾向于把这些东西记在心里或放在一个文件中以供参考。

例子:

<titleid> <titlekey> <title> <random-number-of-spaces>     USA System Application

<titleid> <titlekey> <title> <random-number-of-spaces> USA System Application

假设最终结果是美国的 U 位于第 130 列。我想知道如何将它移动到该点,以及如果可能的话,将它和它之后的所有内容移动到该点。

我已经设法找出一些表达式,用于向前移动 x 个制表符或前面的空格,但无法向后移动。这很复杂,因为前一个单词的结尾、<title>长度不同,并且有些USA需要向前移动,有些需要向后移动,所有这些都需要在同一列结束。因此,没有一个符合我想要实现的目标。

作为参考,查找\h+(?=USA\b)替换\t将根据语言首选项中设置的选项卡数量进行处理。

查找(?:(USA.+))替换$1将按前面的空格数向前移动$1,但由于文档当前状态的锯齿形模式,它无助于对齐。

答案1

如果您确定位置 130 及之前只有空格,则可以分两步进行。

  1. 在之前添加130个空格USA
    • 找什么:\bUSA\b
    • 替换为:_________________$0 #(为了视觉效果更好,我使用 _ 代替空格)添加尽可能多的空格,使每行的 USA 从行首向前移动超过 130 个字符。
    • 查看 正则表达式
    • Replace all
  2. 删除之前多余的空格USA
    • 找什么:^.{129}\K\h+(?=\bUSA\b)
    • 用。。。来代替:LEAVE EMPTY
    • 查看 正则表达式
    • Replace all

相关内容