2012-02-08 51 views
0

我有一個文本象下面這樣:分割線

HWI-ST150_0129:2:8:19270:131483#0 chr1 735440 819383 HWI-ST150_0129:5:44:4612:112201#0 chr1 735446 819377 HWI-ST150_0129:5:61:12668:134666#0 chr1 735444 819380 

HWI-ST150_0129:2:27:6777:92418#0 chr10 107950655 107951635 HWI-ST150_0129:3:61:5129:81938#0 chr10 107950674 107951702 

...... 

因此,我們可以看到每行包含如「HWI-ST150_0129圖案:2:8:19270:131483#0 CHR1 735440 819383 「 我希望把它變成:

HWI-ST150_0129:2:8:19270:131483#0 chr1 735440 819383 
HWI-ST150_0129:5:44:4612:112201#0 chr1 735446 819377 
HWI-ST150_0129:5:61:12668:134666#0 chr1 735444 819380 
HWI-ST150_0129:2:27:6777:92418#0 chr10 107950655 107951635 
HWI-ST150_0129:3:61:5129:81938#0 chr10 107950674 107951702 

我該怎麼辦呢? bash和python都可以。 我個人比較喜歡bash更多 thx

回答

0

您正在使用哪種語言或代碼?

查找字符串中每個HWI的索引。 在HWI「\ r」或者「\ r \ n」之前插入基本上插入retun字符和換行符。

可能也想看看REGEX。

+0

波什bash或蟒蛇的作品給我 – user815408 2012-02-08 16:45:33

0

沒有指定的工具或語言...

工具(Windows)中:用記事本++,並使用正則表達式如下更換:

搜索:

(HWI-\w+:\d+:\d+:\d+:\d+#\d+ \w+ \d+ \d+) 

替換爲:

\1\n 

語言(任何操作系統):使用Perl和給定的正則表達式。替換正則表達式應該是:

$1\n 
0

這會給你確切的結果

<?php 
    $text ="HWI-ST150_0129:2:8:19270:131483#0 chr1 735440 819383 HWI-ST150_0129:5:44:4612:112201#0 chr1 735446 819377 HWI-ST150_0129:5:61:12668:134666#0 chr1 735444 819380 HWI-ST150_0129:2:27:6777:92418#0 chr10 107950655 107951635 HWI-ST150_0129:3:61:5129:81938#0 chr10 107950674 107951702"; 
    $arrHw = explode('HWI',$text); 

    for($i=1;$i<count($arrHw);$i++): 
     echo "HWI".$arrHw[$i]."<br/>"; 
    endfor; 
    ?>