2017-06-13 78 views
0

我正在使用名爲TextCrawler Pro的程序,它允許我以宏的形式運行。找到指定文本後刪除所有文本

我想清理天氣頁面每天從這個去:

Billings, MT;93;62;80;53;Not as warm;NNE;10;44%;20%;8 

Birmingham, AL;80;70;81;69;Thunderstorms;SSW;6;81%;90%;4 

Bismarck, ND;92;57;92;63;Mostly sunny;SE;12;46%;36%;8 

Boise, ID;85;51;77;49;Mostly sunny, nice;N;8;36%;0%;8 

這樣:

Billings, MT;93;62;80;53; 

Birmingham, AL;80;70;81;69; 

Bismarck, ND;92;57;92;63; 

Boise, ID;85;51;77;49; 

我可以找到使用\;\d+\;\d+\;\d+\;\d+\;但我不能刪除到行尾。

我嘗試添加\r\n上述這樣的結尾:\;\d+\;\d+\;\d+\;\d+\;\r\n

但代替實際的正則表達式的代碼我所有的城市信息。

任何想法?我覺得我錯過了很簡單的事情。

+0

'cut -d \; -f1-5 < input.txt > output.txt'應該做這個工作...沒有理由使正則表達式複雜化... – twalberg

+0

謝謝,這是在Windows服務器上,但不知道如何運行? – schnarkle

+0

你在做什麼語言? –

回答

0
​​

第一組是你所追求的,忽略第二組。 See it here

+0

真棒,所以我怎麼能從文本中刪除組2? – schnarkle

0

將會有許多不同的模式,將成功地爲您刪除不需要的子串。這裏有一些我已經熟了。 (Demo

67在我的名單步驟^([^;]+;[^;]+;[^;]+;[^;]+;[^;]+;).*$ #most高效模式

91步^((?:[^;]+;){5}).*$

127步(.+?;.+?;.+?;.+?;.+?;).*

157步((?:.+?;){5}).*

163步(.+?;)[^\d].*

185步(.+\d{2};)[A-Z].*

280步(.*\,\s[A-Z]+;\d{2};\d{2};\d{2};\d{2};)(.+)

您刪除不需要的部分的方式,是隻希望部分取代了全系列。

引用這些文檔頁面:

https://www.digitalvolcano.co.uk/textcrawlermanual/regular_expression_reference_guide.htm

https://www.digitalvolcano.co.uk/textcrawlermanual/regular_expression_find_replace.htm

你應該能夠只使用$1的重置價值,一切都將被清理。

相關問題