Ruby regex gsub wiersz w pliku tekstowym
Muszę dopasować linię w wprowadzonym łańcuchu tekstowym i zawinąć przechwyconą linię np. Znakiem.
Na przykład wyobraź sobie plik tekstowy jako taki:
test
foo
test
bar
Chciałbym użyć gsub do wyjścia:
XtestX
XfooX
XtestX
XbarX
Mam jednak problem z dopasowaniem linii. Próbowałem użyć wyrażenia regularnego zaczynającego się od ^ i kończącego na $, ale nie działa. Jakieś pomysły?
Mam plik tekstowy, który zawiera następujące elementy:
test
foo
test
bag
Plik tekstowy jest odczytywany jako argument wiersza poleceń.
Więc mam
string = IO.read(ARGV[0])
string = string.gsub(/^(test)$/,'X\1X')
puts string
Wyprowadza dokładnie to samo, co w pliku tekstowym.