交换字符周围的文本
Swap text around a character
我有几行遵循相同格式的文本:
Title1 : Text1
Title2 : Text2
如何将:
两边的文字换到另一边?喜欢:
Text1 : Title1
Text2 : Title2
我可以编写一个小脚本来执行此操作,但我想知道是否有更快的方法使用 Regex、内置功能或任何其他魔术来执行此操作?
第 1 步:按住键盘上的 Alt 键并突出显示第 3 列,即 Text1。这将 select 整个 3 列。
第 2 步:右键单击并选择 'Cut',然后粘贴到第一列前面。
第 3 步:按住键盘上的 Alt 键并突出显示“:”列。
第 4 步:右键单击并选择 'Cut',然后粘贴到第 1 列和第 2 列之间。
您可以使用
^([^\r\n:]+)(:\h*)(.*)$
或
^([^\r\n:]+)(:\h*)([^:\r\n]+)$
替换为 </code>,其中 <code>$n
是对捕获组捕获的值的反向引用。组会按照它们在模式中出现的顺序自动编号。
详情:
^
- 行首
([^\r\n:]+)
- 第 1 组后来被称为 </code> 捕获除 CR、LF 和冒号 </li> 之外的一个或多个字符
<li><code>(:\h*)
- 第 2 组捕获冒号和零个或多个水平空格
([^:\r\n]+)
- 第 3 组以后称为 </code>。见上文。</li>
<li><code>$
- 行尾。
我有几行遵循相同格式的文本:
Title1 : Text1
Title2 : Text2
如何将:
两边的文字换到另一边?喜欢:
Text1 : Title1
Text2 : Title2
我可以编写一个小脚本来执行此操作,但我想知道是否有更快的方法使用 Regex、内置功能或任何其他魔术来执行此操作?
第 1 步:按住键盘上的 Alt 键并突出显示第 3 列,即 Text1。这将 select 整个 3 列。
第 2 步:右键单击并选择 'Cut',然后粘贴到第一列前面。
第 3 步:按住键盘上的 Alt 键并突出显示“:”列。
第 4 步:右键单击并选择 'Cut',然后粘贴到第 1 列和第 2 列之间。
您可以使用
^([^\r\n:]+)(:\h*)(.*)$
或
^([^\r\n:]+)(:\h*)([^:\r\n]+)$
替换为 </code>,其中 <code>$n
是对捕获组捕获的值的反向引用。组会按照它们在模式中出现的顺序自动编号。
详情:
^
- 行首([^\r\n:]+)
- 第 1 组后来被称为</code> 捕获除 CR、LF 和冒号 </li> 之外的一个或多个字符 <li><code>(:\h*)
- 第 2 组捕获冒号和零个或多个水平空格([^:\r\n]+)
- 第 3 组以后称为</code>。见上文。</li> <li><code>$
- 行尾。