2014-01-05 4 views
2

В TXT-файле у меня есть несколько строк. Каждая строка содержит данные синхронизации:Простой поиск и замена regexp

time [4.1s] [4100ms] 
time [5.53s] [5530ms] 

Все строки имеют разные слова/символы до и после времени.

Я хочу сделать Find- и заменить действие (В Notepad ++), чтобы получить следующий, простой, формат:

4.1 
5.53 

Как мне это сделать? Какое регулярное выражение используется? Любая помощь очень ценится!

+0

Любые попытки до сих пор? – Jerry

ответ

2

Поиск:

.*\[([\d.]+)s\].* 

Заменить:

\1 

enter image description here

+0

Замечательно! Благодаря!! – user689881

+0

@ user689881, Добро пожаловать в переполнение стека! Есть люди, которые пытались ответить на ваш вопрос. Если бы это помогло вам, вы можете рассказать об этом сообществу, приняв ответ [http://meta.stackexchange.com/a/5235], который был наиболее полезен для вас. – falsetru

1

Предполагая, что вы хотите, только первое число в скобках, и что имеет десятичную точку в соответствии с вашими пример:

\d*[.]\d+ 

Это возвращает 4.1 и 5.53 по запросу, если применяется к вашему примеру.

Если первый номер не может иметь десятичную точку, то вы хотите, чтобы рассмотреть следующие вопросы:

\d*[.]?\d+s 

но добавить s в вашей замену для объяснения с.

Update

Обновление на основе вашей последней информации. Я не знаю, если Notepad ++ поддерживает положительный (?<= назад '), но если это не вы можете сделать это:

(?<=time \[)\d*[.]\d+ 
+0

Спасибо за все ответы! решение acarlons практически работает. Однако - и мне, наверное, следовало бы это сказать - могут быть скобки и десятичные числа как до, так и после «времени .. [] []», что не интересно для меня. – user689881

+0

@ user689881 - См. Обновление – acarlon

Смежные вопросы