将单词交换到另一侧

时间:2017-06-22 11:28:16

标签: regex string notepad++

我在新线上有字符串。它的音乐内容,就是......我需要艺术家在左侧并跟踪名称在右侧。所以艺术家 - 追踪。事情是,我有轨道 - 艺术家。

有什么我可以用来做这样的事情吗?我四处搜索,或者我没有找到正确的单词,或者没有任何相关内容。

我希望用记事本++完成它,但是如果有一些在线工具或者其他人可以做到这一点,那就太棒了!

输入:

The Christmas Song (Chestnuts Roasting on an Open Fire) - Pentatonix
Real Love - Tom Odell
Winter - Joshua Radin
White Christmas - Katy Perry
Another Christmas - Amanda Jenssen

输出:

Pentatonix - The Christmas Song (Chestnuts Roasting on an Open Fire)
Tom Odell - Real Love
Joshua Radin - Winter
Katy Perry - White Christmas
Amanda Jenssen - Another Christmas

4 个答案:

答案 0 :(得分:2)

你可以这样做:

  • 控制 + ħ
  • 找到:^([^-]+) +- +(.+)$
  • 替换为:$2 - $1
  • 全部替换

<强>解释

^       : begining of line
([^-]+) :  group 1 everything that is not a dash
 -      : a dash with spaces around it
(.*)    : group 2, rest of the line
$       : end of line

答案 1 :(得分:2)

使用以下Regex捕获组。

^(.*?)\s+-\s+(.*?)$

在Notepad ++中,您可以替换已捕获的群组$1$2,并根据需要正确放置。

$2 - $1

检查Regex101上的演示。

答案 2 :(得分:0)

如果您的分隔符SPACE-SPACE一致,则使用组来交换艺术家的位置和跟踪

(.+)(\s-\s)(.+)

See it here

答案 3 :(得分:0)

解决方案

来源https://superuser.com/questions/261072/reverse-name-order-in-notepad

工具:正则表达式

打开记事本++并按 CTRL + F 以显示搜索框导航至搜索 - 查找。转到替换并将模式切换为正则表达式。现在输入查找内容部分:^(.+) - (.+)$替换为\2 - \1。命中全部取而代之而去!

简化代码

查找内容:^(.+) - (.+)$

替换为:\2 - \1