Кавычка в регулярном выражении ruby ​​неверно истолковывается как начало строки - PullRequest
2 голосов
/ 16 июня 2011

У меня есть проект macruby в xcode, в котором я хочу заменить все левые и правые кавычки в строке на ~@@~@@~" и "~@@~@@~ соответственно. Я протестировал следующий код на rubular.com, и он работает правильно.

string.gsub!(/\B"/, "~@@~@@~\"")
string.gsub!(/\b"/, "\"~@@~@@~")

Но когда я использую это в xcode, он интерпретирует " в регулярном выражении как начало строки и говорит, что у меня неверный номер аргумента для gsub. Я пытался избежать цитаты:

string.gsub!(/\B\"/, "~@@~@@~\"")
string.gsub!(/\b\"/, "\"~@@~@@~")

Но это тоже не сработало. Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ: Мне удалось убрать ошибку, кажется, это произошло из-за чего-то еще. Подсветка все еще отключена, но я справлюсь с этим, так как она работает.

1 Ответ

0 голосов
/ 16 июня 2011

Альтернативный синтаксис %r[\B\"] работает лучше?Как насчет Regexp.new заданной строки?

...