2013-07-31 4 views
0

У меня довольно сложный файл данных со многими строками разных типов. Для конкретного столбца меня интересует у меня есть шаблон, который выглядит следующим образом:Регулярное выражение Заменить строку

12.6 \pm 0.8  

^^ Количество цифр до и после десятичной в каждой из этих частей входа может изменяться.

Я надеюсь, что я могу использовать регулярные выражения, чтобы заменить эту запись столбца в: [12.6, -0.8, + 0,8]

Что я с просьбой о помощи на то, как я должен идти о замене один раз я вы нашли записи, подобные тем, что у меня было раньше. Все примеры, которые я нашел до сих пор, касаются того, когда вы хотите заменить статические строки другими статическими строками, но для каждой строки я обязательно буду иметь разные числа (и, возможно, разные цифры). Регулярное выражение я попытался так далеко, чтобы найти записи, как «12,6 \ 0,8 часов» является следующее:

\d*\.\d*\s\\\w{2})\s\d*\.\d* 

Я также был бы признателен, если бы я мог получить чек на это тоже. На данный момент я просто манипулирую файлом данных в своем текстовом редакторе, но я также открыт для решений Python.

Спасибо!

ответ

1

Ваше выражение близко. Существуют ли какие-либо условия, когда это не сработает?

(\d*\.\d*)\s\\\w{2}\s(\d*\.\d*) 

с заменить модель бытия (для JS)

[$1, -$2, $2] 

или Emacs (по http://www.emacswiki.org/emacs/RegularExpression)

[\1, -\2, \2] 
+0

Хм, это не похоже на работу. Какие-либо предложения? Если это помогает, я делаю это в текстовом редакторе emacs, перейдя к редактированию -> заменить регулярное выражение, а затем набрав ваше решение. – astromax

+1

Изменены для синтаксиса emacs - надеюсь, что это правильно. –

+0

Awesome, спасибо! Это сделало это для меня. – astromax