Как я могу удалить подстроки, которые начинаются с 'a' до следующего 'b'? - PullRequest
0 голосов
/ 05 марта 2019

У меня есть строка:

a = "select * from ABC -- where  A = B \n And D = C \n -- And  X = Y \n And J = I;"

Я хочу удалить все подстроки, которые начинаются с "--" до следующего "\n".Таким образом, после редактирования вышеуказанной строки, a будет:

a = "select * from ABC  And D = C \n  And J = I;"

1 Ответ

0 голосов
/ 05 марта 2019

Использование String#gsub!

a = "select * from ABC -- where A = B \n And D = C \n -- And X = Y \n And J = I;"
a.gsub(/--.*\n/, "") #=> "select * from ABC  And D = C \n  And J = I;"

Это возможно из-за символа новой строки.

Более общий способ

Например, вам нужно удалить подстроку, начиная с "foo" и заканчивая "bar".

a = "aaafoobb\nbbarcccfoodd\tdbareee"
a.gsub(/foo(.*?)bar/m, "") #=> "aaaccceee"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...