自动复制部分文本并将其粘贴到同一行的其他位置(多行)

自动复制部分文本并将其粘贴到同一行的其他位置(多行)

我有一些文本文件,里面有一些信息,我想把它们从一个地方复制并粘贴到同一行的其他地方。例如,我有类似这样的内容:

Random text here { Name = "Tropical Smoothie", UniqueId = "1110100", More random text};
Random text here { Name = "Tropical Smoothie", UniqueId = "1110110", More random text};
Random text here { Name = "Tropical Mango Smoothie", UniqueId = "1110120", More random text};
.
.
.
Random text here { Name = "Tropical Smoothie", UniqueId = "2000110", More random text};

我想要将 UniqueId 后面的数字复制并放在冰沙在同一行上

Random text here { Name = "Tropical Smoothie 1110100", UniqueId = "1110100", More random text};
Random text here { Name = "Tropical Smoothie 1110110", UniqueId = "1110110", More random text};
Random text here { Name = "Tropical Mango Smoothie 1110120", UniqueId = "1110120", More random text};
.
.
.
Random text here { Name = "Tropical Smoothie 2000110", UniqueId = "2000110", More random text};

只要在引号后面的单词后面有一个空格姓名然后是 UniqueId 数字。名称可以是任意的,但每行的 UniqueId 都是唯一的。

因此,以第一行为例,在文本编辑器中,我将突出显示 1110100 并复制它,并在后面添加一个空格冰沙然后粘贴。然后我会对下一行做同样的事情,依此类推。这个任务能以某种方式自动执行吗?我会尝试任何脚本或 Windows 程序。即使是“每行复制第三个双引号后的 7 位数字并粘贴到第二个双引号前”之类的东西也可以。

答案1

你问了同样的问题堆栈溢出我刚刚给你写了一个答案。我在这里也提供同样的答案。

您可以使用任何支持 Regex 的文本编辑器来完成您的要求。在此示例中,我将使用 Notepad++。首先,我将描述要做什么,然后我将解释 Regex 的作用。

例子

  1. 使用 打开文件Notepad++
  2. 按下Ctrl+F即可调出Search and Replace窗口。
  3. 确保选中名为Wrap around
  4. 选择Regular expressionSearch Mode
  5. Find What:插入Name = "(.*)", UniqueId = "(\d+)"
  6. Replace with:插入Name = "$1 $2", UniqueId = "$2"
  7. Replace all一次。

带有正则表达式的 Npp-

理解正则表达式

  • ()这些字符代表您想要捕获的组。
  • $1代表您标记的第一个组()
  • $2同样的事情,但它需要第二组。
  • \d匹配数字后的any digit.表示匹配一个或多个数字。+
  • .匹配点后的any character.表示匹配零个或多个字符。*

在搜索示例中,Name = "(.*)", UniqueId = "(\d+)"我们有两个组。匹配 Name 和 UniqueId 引号之间的内容。

在替换示例中,我们使用这些组将匹配的内容替换为新内容。在本例中,新内容是 group和 groupName = "$1 $2", UniqueId = "$2"的内容。$1$2

相关内容