поиск и замена со сканированием - PullRequest
0 голосов
/ 24 марта 2011

Я хочу найти и заменить некоторые цифры в текстовый файл и разделенные пробелами и объединить их вместе

как

asdf asdf 1 2
3 asdf asdf asdf
2 3 asdf

до

asdf asdf 123
asdf asdf asdf
23 asdf

Я попробовал следующее, но оно не работает, и я не уверен, как лучше всего выполнить замену в файле:

text = File.read("testfile.txt")
p text.scan(/([\d+\s+\d+]+)/)

Ответы [ 2 ]

1 голос
/ 24 марта 2011
FN = 'thefile'
result = File.read(FN).gsub /(\d)\s+(?=\d)/, '\1'
open(FN, 'w') { |io| io.write(result) }
1 голос
/ 24 марта 2011

На самом деле, вам не нужно \d+. \d будет достаточно.

gsub(/(\d)\s+(?=\d)/, '\1')

Если у вас установлен oniguruma или вы используете ruby1.9,

gsub(/(?<=\d)\s+(?=\d)/, '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...