Мне нужно сопоставить строку в строке введенного текстового файла и обернуть захваченную строку символом, например.Ruby regex, соответствующий строке в строке ввода текстового файла
Например представьте текстовый файл, например:
test
foo
test
bar
Я хотел бы использовать GSUB для вывода:
XtestX
XfooX
XtestX
XbarX
У меня возникли проблемы, соответствующие линии, хотя. Я пробовал использовать регулярное выражение, начинающееся с^и заканчивающееся на $, но похоже, что оно не работает? Есть идеи?
У меня есть текстовый файл, который в нем следующее:
test
foo
test
bag
Текстовый файл читается в качестве аргумента командной строки.
Так что я получил (например, просто пытается обернуть тест)
string = IO.read(ARGV[0])
string = string.gsub(/^(test)$/,'X\1X')
puts string
Он выводит ту же самую вещь, которая находится в текстовом файле.
Я попытался
string = string.gsub(/^(.*)$/, 'X\1X')
Воспроизводит:
Xtest
Xfoo
Xtest
Xbar
... почему?
Хорошо, так я backspaced последнюю строку текстового файла, и теперь я получаю это ...
Xtest
Xfoo
Xbar
XtestX
Согласно вашему регулярному выражению, вы ожидаете только тех строк, которые начинаются с теста, но ваш желаемый результат отличается! –
@UpasanaShukla, что вы имеете в виду? Мой примерный код пытается обернуть тест с помощью Xs, поэтому мой вывод должен включать все то же самое с XtestX, и это не так. – Tommy
Посмотрите ваш желаемый результат, в этой замене выполняется в каждой строке, начинается ли она с теста или нет. не так ли? –