我经常在字符串集上做一些操作,一般来说我在Notepad ++中使用正则表达式很好。很久以前我记得使用一些可以录制动作并执行相同操作的工具。例如,假设我有这个字符串。请记住,这只是一个例子。
First Name,Last Name,Social Security
我想将其转换为以下内容:
first_name("First Name"),last_name("Last Name"),social_security("Social Security")
使用某些文本编辑器有没有办法做到这一点?我经常有这些类型的要求。我记得使用vim做类似的事情。
答案 0 :(得分:2)
可以使用vim宏完成,但“简单”替换更适合
:s/\(^\|,\)\(\S\+\) \(\S\+\)\(,\|$\)/\l\2_\l\3("\2 \3")/g
或者您可以在awk
内使用sed
(vim
,无论如何),例如:
:%!awk 'BEGIN {FS=","} { print whatever you modified your columns }'
使用宏,类似 q a y t , P 我 ( “ ESC ˚F , 我 “ ) ESC ˚F 2 SPACE - [R _ 升 〜 0 〜 q
但这只是部分有效......(对于第一栏)基本上:
a
寄存器,
< / LI>
("
,然后离开插入模式")
space
然后通过 @ a 从正常模式运行宏。
Vim很有能力。
答案 1 :(得分:0)
事实上,vim允许你做这种事情。使用Vim Macro功能,您可以在编辑器中记录和播放一系列操作。根据我的经验,它非常强大,比其他文本编辑器更强大(因为vim本身的编辑基于命令序列。) 但是,如果您不熟悉vim,则需要时间来学习如何使用vim。但它最终将导致高效的文本编辑和编码。
使用vim有很多优点。互联网上有很多文章也在解释它们。我建议谷歌搜索一下,所以你可以自己决定。
答案 2 :(得分:0)
您还可以尝试使用java multiplatform免费开源工具jEdit。
它提供宏录制和编辑。
宏在BeanShell中被转储/写入,jEdit扩展了一组记录的API,允许通过宏实现任何你想要的。
jEdit community共享了许多宏脚本。