Есть ли инструмент для перевода номера телефона в формат E.164?

Я ищу быстрое и грязное, а также легко повторяемое решение для удаления нечисловых данных из столбца в электронной таблице для импорта в базу данных MySQL. Пример:

(123)456-7890   fred  

Это все в одной ячейке в Microsoft Excel; один столбец. Записи не в стандартизированном формате.

  • Большинство строк не имеют дополнительного имени, но некоторые имеют. Название лишнее, мне нужны только цифры.
  • Для международного набора номера - я полагаю, но я не уверен - существует проблема с ведущими нулями, если номер телефона рассматривается как целое число. Но я не обеспокоен. Числовой результат в виде целого числа - это то, что мне нужно.
  • Номер телефона может быть в различных общих форматах, не обязательно соответствующих этому примеру из 13 символов, с кодом города в скобках и разделением дефиса для последних 4 цифр. Например, он может иметь начальную цифру, например 0 или 1, код города может быть разделен дефисом, а не заключен в скобки и т. Д.

Я не хочу исключать какой-либо конкретный подход, но проблема, похоже, поддается решению, которое удаляет нечисловые символы, а не пытается расшифровать и проанализировать все возможное содержимое.

Я импортировал его в таблицу Google, чтобы создать резервную копию. Я пользователь Linux, поэтому не имею доступа к собственному Microsoft Excel, как это было получено. Однако у меня есть доступ к Libre Office.

Я знаю, что я могу использовать регулярные выражения MySQL для этой цели, как описано в этой теме.

Что дает несколько вариантов. Я просто думал, что в LibreOffice или Google Spreadsheet может быть инструмент для этого. Я немного опасаюсь запускать его через веб-приложение, в зависимости от того, чье это веб-приложение.

Желаемый формат:

http://en.wikipedia.org/wiki/E.164

2 ответа

Альтернативой было бы использовать Find&Replace, чтобы заменить (ничем,) ни с чем, ни с чем (эта часть может быть сложной, если есть несколько различных типов символов, которые выглядят как тире, но если они все стандартные тире, это легко), и пространство ни с чем. Четыре символа, введенные в поле "Найти", кнопка "Заменить все", нажатая четыре раза, и готово.

Вот и все, это для таблиц Google:

=SPLIT("(123)456-7890   fred"," ")

Вы можете расширить одну и ту же формулу для всех ваших записей

=SPLIT(A1," ")

Или вы можете попробовать что-то более сложное с формулой массива...

на самом деле, если вы ищете операторы вставки или обновления, вы можете получить их из таблицы Google, я рекомендую это

https://docs.google.com/spreadsheets/d/1lWPRj_9uQW3BYUGUqKqW_NDlJ0VH0wUmf04ClVk6UEg/edit?usp=sharing

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