我以爲我有這個想法,但我想找到一個文件中的所有發生,我有一些文本刪除兩個雙引號之間。刪除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