2015-07-13 3 views
-1

Я очень новичок в редактировании текста, поэтому я сожалею, если этот вопрос не ясен, дайте мне знать, если есть что-то, что я могу указать, чтобы сделать мой вопрос более понятным.Как найти и заменить в текстовом редакторе?

В моем файле имеется 27 столбцов с разделителями столбцов и тысячи строк. Я хочу заменить вкладки на символ подчеркивания (в основном слияние первых трех столбцов вместе), но только после первых двух столбцов. Как мне это сделать?

Вот что я в настоящее время для моей находке:

([^ \ т] +) \ т ([^ \ т] +) \ т ([^ \ т] +) \ т ([^ \ т] +) \ т ([^ \ т] +) \ т ([^ \ т] +) \ т ([^ \ т] +) \ т ([^ \ т] +) \ т ([^ \ t] +) \ t ([ ^ \ t] +) \ t ([^ \ t] +) \ t ([^ \ t] +) \ t ([^ \ t] +) \ t ([^ \ т] +) \ т ([^ \ т] +) \ т ([^ \ т] +) \ т ([^ \ т] +) \ т ([^ \ т] +) \ т ([^ \ t] +) \ t ([^ \ t] +) \ t ([^ \ t] +) \ t ([^ \ t] +) \ t ([^ \ t] +) \ t ([^ \ t] +) \ t ([^ \ t] +) \ t ([^ \ t] +) \ r

, а затем здесь моя замена:

\ 1_ \ 2_ \ 3 \ t \ 4 \ t \ 5 \ t \ 6 \ t \ 7 \ t \ 8 \ t \ 9 \ t \ 10 \ t \ 11 \ t \ 12 \ t \ 13 \ т \ 14 \ т \ 15 \ т \ 16 \ т \ 17 \ т \ 18 \ т \ 19 \ т \ 20 \ т \ 21 \ т \ 22 \ т \ 23 \ т \ 24 \ т \ 25 \ т \ 26 \ t \ 27 \ r

Также будут приветствоваться любые ссылки на хорошее руководство по регулярному выражению!

Ниже приводятся репрезентативные данные. Каждое число разделяется вкладкой в ​​моем редакторе, а не пробелом.

CHR1 28404 29751 25 14 57 42 44 44 56 34 16 24 18 24 24 23 24 163 57 30 28 31 36 23 28 17

CHR1 235561 236222 5 13 4 24 4 8 7 6 5 14 20 7 10 3 6 11 9 9 16 8 16 6 11 9

CHR1 540455 541272 20 11 6 7 5 7 12 24 7 9 9 6 22 3 10 32 18 22 11 13 10 27 9 10

CHR1 713112 715467 96 105 332 159 131 277 225 199 61 164 128 116 156 107 143 687 204 186 97 125 174 193 213 118

chr1 761657 764380 106 153 334 182 161 326 215 343 85 174 160 135 176 151 141 724 308 223 120 141 200 198 247 151

+0

Вы могли бы поставить некоторые тестовые данные, а? –

+0

Изменился вопрос. Благодаря! – Uchillama

ответ

0

Тест поиск:

(.+?)\t(.+?)\t(.+?)\n 

Заменить

\1_\2_\3\n 

взглянуть на Demo

Кроме того, вам придется отключить ". соответствует New Line "в текстовом редакторе.

0

Итак, у вас есть что-то вроде

enter image description here

Запуск этой функции поиска и замены ниже, вы получите:

enter image description here

Regex:

^(\s*(?:[^\t]+\t){2})([^\t]+)\t([^\t]+)\t 

Замена: $1$2_$3_

Если вы можете иметь пустые столбцы, заменить + квантора к *:

^(\s*(?:[^\t]*\t){2})([^\t]*)\t([^\t]*)\t 
Смежные вопросы