Ищите регулярное выражение для использования с #gsub в Ruby, чтобы удалить все цифры в строке, за исключением ординалов. Предположим следующее прекрасно, чтобы сохранить то, что я хочу в строке:regex strip все цифры, кроме ординалов
string = "100 red balloons"
strip_digits = string.gsub(/[^a-zA-Z\s]/, '')
=> " red balloons"
Как будет идти об изменении регулярных выражений в strip_digits, что если:
string = "50th red balloon"
strip_digits вернется:
=> "50th red balloon"
То есть, регулярное выражение будет игнорировать цифры, которые являются частью ординалов, в то же время сопоставляя их.
В этом примере можно с уверенностью предположить, что любая цифра, за которой следует порядковый указатель («nd», «th», «rd» или «st»), является порядковым номером.
Итак, вы хотите удалить все во второй и третьей строках? – sawa
Если вам просто нужно настроить ваше регулярное выражение, вы можете использовать ['gsub (/ (\ d + (?: th | [rn] d | st)) | [^ az \ s]/i," \\ 1 ") '] (http://ideone.com/XBHz3o) –
Как вы собираетесь сказать, является ли письмо, следующее за цифрой, частью ординала или чего-то еще? Например, в 'TP-Link TL-WR1043ND'. – sawa