代码之家  ›  专栏  ›  技术社区  ›  Pit Digger

文本编辑器:操作字符串的宏

  •  2
  • Pit Digger  · 技术社区  · 12 年前

    我经常对字符串集进行一些操作,通常它可以很好地与Notepad++中的正则表达式配合使用。很久以前,我记得我使用了一些工具,可以记录一个动作并执行相同的操作。例如,假设我有这个字符串。请记住,这只是一个例子。

    First Name,Last Name,Social Security 
    

    我想将其转换为以下内容:

    first_name("First Name"),last_name("Last Name"),social_security("Social Security")
    

    有没有什么方法可以使用一些文本编辑器来做到这一点?我经常有这样的要求。我记得用vim做类似的事情。

    3 回复  |  直到 12 年前
        1
  •  2
  •   Zsolt Botykai    12 年前

    它可以使用vim宏来完成,但“简单”的替换更适合

    :s/\(^\|,\)\(\S\+\) \(\S\+\)\(,\|$\)/\l\2_\l\3("\2 \3")/g
    

    或者你可以使用 awk ( sed ,不管怎样) vim ,比如:

    :%!awk 'BEGIN {FS=","} { print whatever you modified your columns }'
    

    对于宏,类似于 q y , P ( 紧急停车场 f , ) 紧急停车场 F 2. 空间 r _ ~ 0 ~ q

    但这只是部分起作用。。。(针对第一列)基本上:

    1. q 将宏记录到 a 登记
    2. y , (假设我们在行中的第一个字符上,这会一直拖到第一个字符 ,
    3. P 将拖动的测试放在实际光标位置之前(这是行上的第一个字符)
    4. (光标位置保持不变) ( 紧急停车场 插入件 (" ,然后退出插入模式
    5. f , ) 紧急停车场 找到下一个空格并插入 ") 之前
    6. F 2. 空间 r _ 找到第二个 space 向后,并替换为 _
    7. ~ 0 ~ q 移动到下一个字符,然后将其大小写改为小写,然后移动到行的第一个字符,并更改其大小写,最后退出录制宏。

    然后通过从正常模式运行宏 @

    维姆非常能干。

        2
  •  0
  •   chtenb    12 年前

    事实上,vim允许你做这种事情。使用Vim宏功能,您可以在编辑器中录制和播放一系列动作。根据我的经验,它非常强大,比其他文本编辑器强大得多(因为vim中的编辑本身是基于命令序列的) 然而,如果你不熟悉vim,那么学习如何使用vim需要时间。但它最终会带来高效的文本编辑和编码。

    使用vim还有很多优点。互联网上也有很多文章解释它们。我建议你在谷歌上搜索一下,这样你就可以自己决定了。

        3
  •  0
  •   Michael Zilbermann    12 年前

    您也可以尝试使用java多平台免费开源工具 jEdit

    它提供宏记录和编辑。

    宏被转储/写入 BeanShell ,jEdit通过一组文档化的API进行了扩展,这些API允许通过宏实现您想要的任何内容。

    还有许多宏脚本由 jEdit community