我正在運行一個簡單的Perl腳本,它複製了所有以\txt
開頭到\xtx
的行。到現在爲止還挺好。Perl腳本搜索/替換和轉換結果
use strict;
use warnings;
$^I = '.bak';
while (<>) {
s/(\\txt)(.*)/$1$2\n\\xtx $2/g;
print;
}
現在我想「擦洗」所有的新線開始\\xtx
和
刪除所有非單詞字符:即非字母,但保持字符,任何字符變音符號
將所有內容轉換爲小寫。
而這正是我的基本的編程技能結束
我的文本文件看起來像這樣:
\txt Text (.) with [ symbols and Num[bers (.2) and cháractẽrs with diacrítics
\abc More text ...
我的劇本至今生產:
\txt Text (.) with [ symbols and Num[bers (.2) and cháractẽrs with diacrítics
\xtx Text (.) with [ symbols and Num[bers (.2) and cháractẽrs with diacrítics
\abc More text ...
而且我想實現:
\txt Text (.) with [ symbols and Num[bers (.2) and cháractẽrs with diacrítics
\xtx text with symbols and numbers and cháractẽrs with diacrítics
\abc More text ...
任何幫助非常感謝!
編輯:
這裏有一個真實的例子字符串:
\_sh v3.0 400 Text3
\ref 2013-05-01_08.36.14 001
\txt Djawy (.) de osẽ[ma (.2) EDJu::
\fts Te equivocaste, saliste,
\fte
\ELANParticipant #TBGD
\ELANBegin 00:00:05.367
\ELANEnd 00:00:06.521
\dt 26/May/2016
\ref 2013-05-01_08.36.14 002
\txt [A;;;;;;;;;;;;;
\fts A;;;;;;;;;;;;;
\fte
...
...一切都應該保持原樣,除了開始\ TXT線...
'重複所有行開始\ txt' ='S/^(\\ TXT)(。*)/ $ 1 $ 2 \ n \\ xtx $ 2/mg' – sln
您需要使用///例如'eval表單來執行此操作。通過空格保存/縮小格式將會有點乏味,但是可行。 – sln
您能否提供真實的示例字符串,因爲我認爲您的描述不是很清楚。 –