【问题标题】:Place dashes in GUIDs using replace all使用全部替换在 GUID 中放置破折号
【发布时间】:2012-12-19 12:08:51
【问题描述】:

我有一个文件,其中散布着 200 个左右的 GUID,它们的破折号已被删除。我需要将这些破折号放回原处,但手动操作会很乏味且耗时。有没有办法全部替换,也许在 notepad++ 中,在 GUIDS 中放置破折号?

【问题讨论】:

  • 如果您知道 GUID 的外观和连字符所属的位置,则使用正则表达式替换很容易。
  • 您的 GUID 是什么样的?
  • GUID 分散在包含在单引号中的文件中,例如:'35B7A5E7A7AF4F38A313D6F7CB219347' 我需要在所有这些文件中添加破折号,例如:'35B7A5E7-A7AF-4F38-A313-D6F7CB219347'跨度>

标签: notepad++ guid


【解决方案1】:

按CTRL+H打开“替换”-对话框:

输入

  ([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})

在“查找内容”-Textfield 和

$1-$2-$3-$4-$5

int“替换为”-文本字段。确保已选中“正则表达式”复选框。

按下“全部替换”按钮,奇迹就会发生。

【讨论】:

  • 你为什么要使用[0-9a-z]? GUID 通常表示为一系列十六进制数字,因此 [0-9a-f] 应该可以正常工作(假设不区分大小写匹配)。
  • @michael:关于包含无破折号 GUIDS 的文件格式的问题尚不清楚。我更新了答案以匹配 GUID 末尾的 9 个字符。是的,a-f 应该没问题,我会在一秒钟内更新它:)
  • @Simon 最后一个区块有十二位数字
  • 这对我来说非常有效(在我获得了最新版本的 notepad++ 之后)。
  • 应该注意的是,如果您使用的是早期版本(例如像我一样的 5.9.6.2),则此特定符号不起作用。我必须使用([0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F])([0-9A-F][0-9A-F][0-9A-F][0-9A-F])([0-9A-F][0-9A-F][0-9A-F][0-9A-F])([0-9A-F][0-9A-F][0-9A-F][0-9A-F])([0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F]) 作为查找和\1-\2-\3-\4-\5 作为替换。
【解决方案2】:

使用记事本++ 执行以下操作:

目前你应该在notepad++中看到类似的东西

1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e
1414527670f747218137fd1059046a4e

创建一列 200 个破折号并使用 Alt+鼠标选择(垂直)复制该列。

现在您应该可以将这 200 个破折号粘贴到上述数据中的任意位置。我在不到一分钟的时间内完成了上面显示的 20 条记录。你几乎不会花10分钟? 比正则表达式快得多;),特别是如果您考虑到编程和测试的工作量。

查看我的以下 20 条记录的数据:

14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e
14145276-70f7-4721-8137-fd1059046a4e

希望我清楚。 阅读this 了解记事本++ 中的列选择详细信息

【讨论】:

  • 实际上,您不需要复制/粘贴任何内容 - 只需使用垂直 ALT+鼠标并按“-”即可将“-”插入所有行。
  • 感谢您的回答,但我想我应该指定 GUIDS 分散在整个文件中,而不仅仅是 GUIDS 列表。
  • 哦,请更新问题,让其他人知道。
  • 您添加了一条新评论。问题保持不变。请编辑问题并在此处添加您的 cmets。
  • @AYK 哦。 OCR + NLP 缓存失败:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-08
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
相关资源
最近更新 更多