我正在尝试编辑csv文件,下面是此文件的示例行。
|MIGRATE|;|10000|;|2ACC0003|;|30/09/13|;|Positive Adjmt.|;||;|MIGRATE|;|95004U
行的开头| MIGRATE |需要修改而不改变第二个MIGRATE,因此该行将读取
|MIGRATE|;|MIG_IN|;|10000|;|2ACC0003|;|30/09/13|;|Positive Adjmt.|;||;|MIGRATE|;|95004U
有大约7700行,所以如果我被迫手动这样做,我可能会哭一点。
提前致谢!
答案 0 :(得分:1)
暂时将所有想要更改的内容替换为另一个单词,然后将其余部分替换为您想要的内容。我不确定你在这里问的是什么,但我可以猜到这可能会有所帮助。
答案 1 :(得分:0)
您可以使用行锚的开头:
查找
^(\|MIGRATE\|)
替换为:
$1;|MIG_IN|
请确保您使用的是“搜索和替换”的正则表达式模式。
如果你想成为一个有点发烧友,你可以使用积极的外观:
查找
(?<=^\|MIGRATE\|)
替换为:
;|MIG_IN|
^
只会在一行的开头匹配。
( ... )
被称为捕获组,并将匹配的内容保存在您可以使用的变量中(在第一个正则表达式中,我在替换中使用$1
访问了变量。存储到$1
,第二个存储到$2
等。
|
是一个特殊字符,表示正则表达式中的“或”(用于匹配字符或字符组或其他字符,例如a|b
匹配a
或b
。这样,你需要用反斜杠转义它,使正则表达式与文字|
匹配。
在我的第二个正则表达式中,我使用了(?<= ... )
,这被称为积极的后视。它确保要匹配的部分具有之前的内容。例如,(?<=a)b
仅在b
之前与a
匹配。因此b
中的ab
匹配但bb
不匹配。
我链接的网站也解释了正则表达式的细节,你可以自己尝试一些正则表达式!
答案 2 :(得分:0)
好像你可以搜索Just search for:
^\|MIGRATE\|
并替换为:
|MIGRATE|;|MIG_IN|
确保您已在“搜索模式”选项中选中了“正则表达式”。
说明:^
是一个开始锚;它将匹配行的开头,确保它与第二个|MIGRATE|
不匹配。 \
个字符必须转义|
字符,因为它们通常在正则表达式中具有特殊含义,并且您希望匹配文字|
。