我以为我有这个想法,但我想找到一个文件中的所有发生,我有一些文本删除两个双引号之间。删除Perl中两个引号之间的文本?
我需要先找到一个匹配,然后从第一个双引号到匹配,然后将所有文本都转到第二个双引号并将其删除。我不想仅在两个双引号之间获取文本,因为它可能不是该文件中我想要删除的内容。
我以前是这样的:
perl -p -i.bak -e s/bar/foo/g bar.xml
首先做一个查找和替换工作。 然后我去:
perl -p -i.bak -e s/..\/..\/bar\//g bar.xml
,并已删除了一切吧,但我需要继续一路到第二个双引号,我不知道怎么做,用Perl。
我认为这将是一些正则表达式的混合,但没有我试过的工作。直到条的部分将始终是相同的,但文本将在该点后更改,但是,它始终以我要删除的部分的第二个双引号结束。在那之后将会有文字。
在引号中是否可以有引号('“a 2 \”4 \“piece of wood”'')? – 2012-03-06 18:38:21
你想匹配什么字符串?包括引号。 – TLP 2012-03-06 18:38:54
两个引号之间不会有任何其他引号,只有文本。不幸的是,我不能发布真实的数据,但它会与此类似:“../../../XXX/XX-XXXX-XXX-XXXXXXX-X.XXX” – 2012-03-06 18:44:43