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

1247
Thufir

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

(123)456-7890 fred 

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

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

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

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

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

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

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

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

1
К сожалению, мы не сервис для написания кода. Вместо того, чтобы просто запрашивать код для выполнения конкретной задачи, пожалуйста, покажите нам, что вы уже пробовали (включая любой код, который у вас есть) и где вы застряли, чтобы мы могли помочь вам с вашей конкретной проблемой. Вопросы, которые задают только код, слишком широки и могут быть [отложены или закрыты] (http://superuser.com/help/closed-questions). bwDraco 9 лет назад 0
о, я не ищу код Я думал, что может быть «вещь», на которую можно нажать. Какая-то полезность? Thufir 9 лет назад 0
Этот вопрос не подходит для этого сайта. И, как вы описываете это, нет «вещь», чтобы нажать на. Вам нужно что-то запрограммировать, чтобы сделать эту «вещь». JakeGould 9 лет назад 0
о хорошо Я просто подумал, что это может быть настолько часто выполняемое действие, что может быть полезность или что-то в этом роде. Теперь я знаю :) Thufir 9 лет назад 0
Я не понимаю, почему этот вопрос будет неуместным. Конечно, это не требует больших исследовательских усилий, но все же * ответственно *. slhck 9 лет назад 1
Всегда ли это в таком точном формате (крайние левые 13 символов, код города в скобках, разделение дефиса для последних 4)? Если это так, это можно рассматривать как захват символов с фиксированных позиций. В противном случае вы рассматриваете что-то вроде удаления нецифровых символов или поиска в строке различных разделителей и символов формата. Кроме того, вы можете редактировать данные на месте, как в ответе Лирла, или извлекать число в новую ячейку, используя формулы. Если ваш вопрос еще не настиг события, предоставьте некоторые разъяснения. fixer1234 9 лет назад 0
@ fixer1234 нет, это может быть что угодно. Я думаю, что это должно быть сделано с помощью сценария. Thufir 9 лет назад 0

2 ответа на вопрос

1
Obed Vazquez

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

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

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

=SPLIT(A1," ") 

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

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

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

Это их раскалывает, а не раздевает. но спасибо. Теперь я знаю, что нужно использовать какой-то скрипт. Thufir 9 лет назад 0
1
Lyrl

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