Я ищу, чтобы исправить следующие форматы или недопустимые форматы в ряд Рабочий телефон:Рубиновый регулярное выражение GSUB любые другие символы, кроме + на старте (номер телефона)
1 (639)-234-2323 => 6392342323
2 (042)-982-2234 => 0429822234
3 0974829-928 => 0974829928
4 +83246-983-34 => +832459834
5 +836(737)-898+78 => +83673789878
Я могу использовать этот код и I может получить мои результаты правильно, если задано определенное 1-4, но если 5
, я действительно схожу с ума.
row[1] = row[1].gsub('(','').gsub(')','').gsub('-','').gsub(' ','')
Этот образец используется в файле импорта. Поэтому вы не можете ожидать приглашения пользователю.
Я также открыт, чтобы импортировать запись с недопустимым форматом, но должен быть просто отформатирован на принятый номер телефона (в скобках указаны любые где-либо или любые знаки +
).
EDIT Я хочу получить решение для моего 5
данного примера. Так как я не могу удалить +
знаков без удаления первого.
EDIT 2 я снова спросил в комментариях, что мне нужно включить такой формат телефона:
6 (+65)92349577 => +6592348577
@ WiktorStribiżew предложил следующее регулярное выражение: s.gsub(/\A\(?(\+)|\D+/, '\1')
от своего первоначального ответа (принятый один)
Используйте 's.gsub (/ \ А (\ +) | \ D + /, '\ 1') ' –
Извините, вопрос был обновлен .. Я хочу иметь решение для моего примера на' 5'. Поскольку я не могу удалить знаки '+' везде, не удаляя первый. – jck
@ WiktorStribiżew Блестящий ответ .. Не могли бы вы ответить на сообщение, чтобы я мог принять ваше? Благодарим за быстрый ответ. – jck