Сплит линии в соответствии с конкретными шаблонами - PullRequest
0 голосов
/ 08 февраля 2012

У меня есть текст, подобный приведенному ниже:

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 ТНХ

Ответы [ 3 ]

0 голосов
/ 08 февраля 2012

Вы не указали инструмент или язык ...

Инструмент (Windows) : используйте Notepad ++ и используйте следующее регулярное выражение для замены:

Поиск:

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

Заменить на:

\1\n

Язык (любая ОС) : использовать Perl и заданные регулярные выражения.Замените регулярное выражение должно быть:

$1\n
0 голосов
/ 08 февраля 2012

Это даст вам точный результат

 <?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;
    ?>
0 голосов
/ 08 февраля 2012

На каком языке или коде вы работаете?

Найти индекс каждого HWI в строке. Вставка прямо перед HWI "\ r" или, может быть, "\ r \ n", в основном вставка символа возврата и новой строки.

Может также захотеть посмотреть на REGEX.

...