如何用vim包装文档中的所有单词



这是文件,第97行和下面是我想放在python字典中的行,想法是冒号":"左侧的单词将成为键,右侧将成为值。所有的键和值都必须是字符串,为此我需要将所有单词(第97行及以下(用引号括起来。所以问题是如何将文档中的所有单词都用引号括起来

我这样做的目的是获得用于机器学习的列名称。如果您感兴趣,可以在这里找到没有名称的列。

如果你不发布代码,很难确切知道你的意思(不,我不会从互联网上随机下载并打开一个名为adult.names的文件(。然而,如果你只想让每个单词都用引号括起来,你可以使用全局替换:

:%s/w+ze[s, n, :]+/""/g

说明:

  • :s/regex/text将用当前线上的text替换regex匹配的任何内容
  • 在开头添加一个%,它将对所有行执行此操作。
    • 如果只想对文档的某个部分执行此操作,请进行可视化选择,然后在不使用%的情况下运行此命令
  • w匹配一个单词字符
  • ze结束匹配(因此您可以指定匹配后的内容(
  • [s, n, :]表示匹配空格、换行符和冒号,后面的+表示匹配其中的非零数(即至少一个空白字符、换行符或冒号(

所有这些加在一起意味着它将单独匹配每个单词。

  • 然后,对于每一个匹配的单词,它都用一个引号替换它,然后是,这意味着之前被替换的第一个单词,以及另一个引号
  • 末尾的/g意味着它将在每行上找到正则表达式时多次执行此替换。如果没有这一点,它只会取代每条线上的第一场比赛

结果应该是它将每个单词都用引号括起来。但是,如果不了解您正在使用的内容,就很难测试并找到正确的解决方案。以后请把相关的代码放在你的帖子里。

最新更新