Альтернатива Ruby String.dump, которая не экранирует печатные символы, такие как двойные кавычки (Ruby 1.8.7) - PullRequest
1 голос
/ 18 февраля 2012

У меня есть строка Ruby, которая иногда может содержать некоторые непечатаемые символы.Прежде чем показать его в графическом интерфейсе, я использую String.dump для преобразования строки в читаемый пользователем формат.Побочным эффектом является то, что он также избегает двойных кавычек.Есть ли простой способ избежать этого или только dump строка, если в ней есть непечатаемые символы?

irb(main):041:0> s = "a=b,\"c=d\""
=> "a=b,\"c=d\""
irb(main):042:0> s.dump
=> "\"a=b,\\\"c=d\\\"\""

1 Ответ

3 голосов
/ 18 февраля 2012

Вы можете проверить наличие непечатаемых символов (или gsub их) с помощью этого регулярного выражения:

/[^[:print:]]/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...