Удалите разрывы строк из строк, которые не начинаются с - PullRequest
0 голосов
/ 14 июля 2020

Я хочу удалить все новые разрывы строки, кроме строк, начинающихся с символа «>». Я пробовал ^(?!>)(?<=.*)\n, но он возвращает 0 результатов. Я использую это в NotePad ++. У меня есть десятки тысяч разрывов строк в некоторых больших файлах последовательностей белков, и я хочу, чтобы последовательности белков находились на одной строке после его> Information_line.

Ввод:

>ref|XP_008| angi [enzyme1]  
MSGSSWLILSLVV  
VTAAQSTPEEQVKTFLDKFNQE  
AEDLYHQSSLAAWNYNTNI  
TEENSQQMNDAGEIWS  
AFYNEQSKIA

Ожидаемый результат :

>ref|XP_008| angi [enzyme1] MSGSSWLILSLVVVTAAQSTPEEQVKTFLDKFNQEAEDLYHQSSLAAWNYNTNITEENSQQMNDAGEIWSAFYNEQSKIA

Ответы [ 2 ]

0 голосов
/ 15 июля 2020
  • Ctrl + H
  • Найдите что: \R(?!>)
  • Замените на: LEAVE EMPTY
  • ПРОВЕРИТЬ Обернуть
  • ПРОВЕРИТЬ Регулярное выражение
  • Заменить все

Пояснение:

\R          # any kind of linebreak (i.e. \r, \n, \r\n)
(?!>)       # negative lookahead, make we haven't ">" after

Снимок экрана (ранее):

enter image description here

Screenshot (after):

введите описание изображения здесь

0 голосов
/ 14 июля 2020

Вы можете попробовать что-то вроде этого: ^(?!>)(?<=.*)\n. Регулярное выражение говорит, что не должно быть символа '>' сразу после начала строки, тогда могут быть любые символы, которые не были захвачены, и затем мы захватываем символ новой строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...