как убрать начальные и конечные неалфавитные символы в ruby - PullRequest
4 голосов
/ 29 июня 2010

Я хочу удалить любой начальный и конечный не алфавитный символ в моей строке.

например.":----- pt-br:-", я хочу "pt-br"

Спасибо

Ответы [ 3 ]

9 голосов
/ 29 июня 2010
result = subject.gsub(/\A[\d_\W]+|[\d_\W]+\Z/, '')

удалит не буквы из начала и конца строки.

\A и \Z прикрепят регулярное выражение в начале / конце строки (^ / $ также будет соответствовать после / перед новой строкой, что, вероятно, не то, что вы хотите - но это может не иметь значения в этом случае);

[\d_\W]+ соответствует одной или нескольким цифрам, подчеркиванию или чему-либо еще, чтоне буквенно-цифровой символ, оставляя только буквы.

| является оператором чередования.

1 голос
/ 29 июня 2010

В ruby ​​1.9.1:

":----- pt-br:-".partition( /[a-zA-Z](...)[a-zA-Z]/ )[1]

раздел ищет шаблон в строке и возвращает часть перед ним, совпадение и часть после него.

0 голосов
/ 29 июня 2010
result = subject.gsub(/^[^a-zA-Z]+/, '').gsub(/[^a-zA-Z]+$/, '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...