2016-04-30 92 views
0

我只有網頁腳本和可可(Mac)的經驗,但沒有Windows編程,所以我會非常樂意幫助製作批處理腳本或smt。 我有TEXTFILES哪裏有這樣的從txt文件中抓取特定信息

AlexanderWelten*FI3FFK!duZ1 
Daten: Alexander Welten<br />Abrahamstr. 22<br />18472 Berlin<br />Deutschland 
Maddiiiiin*hg72152aaf 
Daten: Martin Loob<br />Welzstr. 12<br />52621 Frankfurt<br />Deutschland 
ricki1991*super112X 
Daten: Lars Ulbrich<br />Azurstr. 51<br />72223 Bonn<br />Deutschland 
...... 

"<br />"可以忽略不計的信息,它不是有效的HTML,所以沒有斷行,我將與", "反正儘快更換。 每次有「回到名單Daten:」我想抓住郵政省和城市,並創造出應該是這樣的一個新的txt文件:

18472 Berlin 
52621 Frankfurt 
72223 Bonn 
...... 

看看我過去的Q &一個顯而易見的是,我的知識是基於網絡的技術。 我想感謝所有幫助

編輯: 郵政和城市並不總是在同樣的「位置」,因爲有時有街道,郵編/城市之間的附加條目。例如:

Susimega*hfu827aaa 
Daten: Susi Lanzwelt<br />Mondstr. 16<br />bei Muellers<br />48812 Magdeburg<br />Deutschland 

回答

2
比你似乎認爲更容易

for /f "tokens=5 delims=<>" %%a in (test.txt) do echo %%a 

如果你打算用逗號來代替<br />,使用"tokens=3 delims=,"

(如果你使用使用%a代替%%a它在命令行上)

來處理附加條目:

(for /f "tokens=5,7 delims=<>" %%a in (t.txt) do (
    echo %%a|findstr /b "[0-9]">nul && echo %%a || echo %%b 
)>output.txt 

的伎倆:如果令牌5點開始與多家然後回顯令牌5別的回聲令牌7

+0

有趣。我期待更多的代碼。工作正常,但有一個小問題。我忘記提及有時在「街道」和「城市之間」有一個額外的入口,在這種情況下,錯誤的入口被抓住了,我只是試了一下。任何想法如何解決這個問題? (我在開始的帖子中進行了編輯解釋) – RedErdnuss

+0

跳過「bei Muellers」或將其添加到輸出中? – Stephan

+0

感謝您回答Stephan。現在它增加了「bei Muellers」的輸出 - 我只需要PLZ和城市 – RedErdnuss