使用 sublime text 3 进行多值替换

使用 sublime text 3 进行多值替换

我经常需要将一组文本条目替换为一行中的多个位置。我正在寻找使用 Sublime text 3 快速完成此操作的方法。

一个例子可能有助于解释我的意思,我在文本文件中有一个数据库名称列表:

Books
Publishers
Orders 
Customers

我想使用以下文本将“数据库名称”替换为上面的值来转换它们。

SqlCmd -E -S Server –Q "BACKUP DATABASE [database name] TO DISK='E:\Bak\database name.bak'"

因此我希望最终得到一个包含以下内容的文件:

SqlCmd -E -S Server –Q "BACKUP DATABASE [Books] TO DISK='E:\Bak\Books.bak'"
SqlCmd -E -S Server –Q "BACKUP DATABASE [Publishers] TO DISK='E:\Bak\Publishers.bak'"
SqlCmd -E -S Server –Q "BACKUP DATABASE [Orders] TO DISK='E:\Bak\Orders.bak'"
SqlCmd -E -S Server –Q "BACKUP DATABASE [Customers] TO DISK='E:\Bak\Customers.bak'"

显然有多种方法可以做到这一点,我只是想知道在 Sublime Text 3 编辑器中是否有任何简单的方法可以做到这一点。我更喜欢不使用插件的答案,但如果有一个合适的插件,那将会很有趣。

答案1

这是一个非常简单的正则表达式(regex)问题:

1

答案2

使用 Sublime-Text 列选择。这样您就可以从第一行到最后一行创建多光标。然后复制/粘贴或编写相同的行。您还可以使用 Alt 或 Control(取决于您的操作系统)在单词之间移动并选择不同长度的单词,然后复制粘贴以创建行尾。

TL; DR : 使用 Sublime-Text 列选择https://www.sublimetext.com/docs/3/column_selection.html

答案3

我没有使用 Sublime Text 完成它。
请参阅下面的 MS Excel 快照(您可以使用您选择的任何电子表格程序)。A
在此处输入图片描述 列包含您的数据(书籍、出版商等)。B
、C 和 D 列包含所有行中不变的静态文本。E
列包含连接字符串并给出最终输出的公式。
公式=CONCATENATE(B1,A1,C1,A1,D1

相关内容