Кавычка в регулярном выражении ruby ​​неверно истолковывается как начало строки

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

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

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

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

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

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

1 ответ

Решение

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

Другие вопросы по тегам