Gibt es ein Werkzeug, um eine Telefonnummer in das E.164-Format zu bringen?

1236
Thufir

Ich suche nach einer schnellen und schmutzigen sowie leicht wiederholbaren Lösung, um nicht numerische Daten aus einer Spalte in einer Kalkulationstabelle zu entfernen, um sie in eine MySQL-Datenbank zu importieren. Beispiel:

(123)456-7890 fred 

Das ist alles in einer Zelle in Microsoft Excel. eine Spalte. Die Einträge sind nicht standardisiert.

  • Die meisten Zeilen enthalten nicht den zusätzlichen Namen, aber einige tun dies. Der Name ist überflüssig, ich brauche nur die Zahlen.
  • Bei internationaler Anwahl - ich bin mir sicher, aber ich bin mir nicht sicher - gibt es Bedenken wegen führenden Nullen, wenn die Telefonnummer als Ganzzahl behandelt wird. Aber ich mache mir keine Sorgen. Numerisches Ergebnis als Ganzzahl ist das, was ich suche.
  • Die Telefonnummer kann in verschiedenen gebräuchlichen Formaten vorliegen, die nicht notwendigerweise mit diesem Beispiel von 13 Zeichen übereinstimmen, wobei die Ortskennzahl in Klammern und die letzten 4 Ziffern durch Bindestrich getrennt sind. Beispielsweise könnte es eine führende Ziffer wie 0 oder 1 haben, die Ortskennzahl könnte durch einen Bindestrich getrennt sein, anstatt in Klammern eingeschlossen zu sein usw.

Ich möchte keinen bestimmten Ansatz ausschließen, aber das Problem scheint sich für eine Lösung zu eignen, bei der nicht numerische Zeichen entfernt werden, anstatt zu versuchen, alle möglichen Inhalte zu entschlüsseln und zu parsen.

Ich habe es in Google Spreadsheet importiert, um ein Backup zu haben. Ich bin ein Linux-Benutzer und habe daher keinen Zugriff auf natives Microsoft Excel, so wurde es erhalten. Ich habe jedoch Zugang zum Libre Office.

Mir ist bewusst, dass ich MySQL-Regex für diesen Zweck verwenden kann, wie in diesem Thread erläutert .

Was gibt einige Möglichkeiten. Ich dachte nur, dass es in LibreOffice oder Google Spreadsheet ein Werkzeug dafür geben könnte. Ich bin ein bisschen misstrauisch, wenn ich es über eine Web-App durchführe, je nachdem, um welche Webapp es sich handelt.

Das gewünschte Format ist:

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

1
Leider sind wir kein Code-Writing-Service. Anstatt einfach nach Code für eine bestimmte Aufgabe zu fragen, zeigen Sie uns, was Sie bisher versucht haben (einschließlich des Codes, den Sie derzeit verwenden) und wo Sie stecken bleiben, damit wir Ihnen bei Ihrem spezifischen Problem helfen können. Fragen, die nur nach Code fragen, sind zu umfangreich und wahrscheinlich [gehalten oder geschlossen] (http://superuser.com/help/closed-questions). bwDraco vor 9 Jahren 0
Oh, ich suche keinen Code. Ich dachte, es könnte eine "Sache" zum Anklicken geben. Eine Art von Nutzen? Thufir vor 9 Jahren 0
Diese Frage ist für diese Site unangemessen. Und wie Sie es beschreiben, gibt es keine "Sache", auf die Sie klicken können. Sie müssen etwas programmieren, um dieses "Ding" zu tun. JakeGould vor 9 Jahren 0
Oh ok. Ich dachte nur, es könnte eine so häufig ausgeführte Aktion sein, dass es ein Hilfsprogramm oder so etwas gibt. Jetzt weiß ich :) Thufir vor 9 Jahren 0
Ich kann nicht verstehen, warum diese Frage unangemessen wäre. Zugegeben, es zeigt nicht viel Forschungsaufwand, ist aber immer noch * verantwortlich *. slhck vor 9 Jahren 1
Ist es immer in diesem exakten Format (ganz links 13 Zeichen, Ortscode in Klammern, Trennstrich für die letzten 4 Zeichen)? Wenn dies der Fall ist, kann dies als Annäherung der Zeichen an festen Positionen angegangen werden. Andernfalls betrachten Sie so etwas wie das Entfernen von Nicht-Ziffern oder das Durchsuchen der Zeichenfolge nach verschiedenen Trennzeichen und Formatzeichen. Sie können auch die Daten an Ort und Stelle bearbeiten, wie in Lyrls Antwort, oder die Zahl mithilfe von Formeln in eine neue Zelle extrahieren. Wenn Ihre Frage nicht bereits von Ereignissen überholt wurde, klären Sie dies bitte. fixer1234 vor 9 Jahren 0
@ fixer1234 nein, es könnte alles sein. Ich denke, es muss mit einem Skript gemacht werden. Thufir vor 9 Jahren 0

2 Antworten auf die Frage

1
Obed Vazquez

los gehts, das ist für Google-Tabellen:

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

Sie können dieselbe Formel für alle Ihre Datensätze erweitern

=SPLIT(A1," ") 

Oder Sie können etwas ausführlicher mit der Array-Formel versuchen ...

Wenn Sie nach Insert- oder Update-Anweisungen suchen, können Sie diese aus einer Google-Tabelle herausfinden. Ich empfehle das

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

Es spaltet sie und nicht Streifen. aber danke. Ich weiß jetzt, dass ich einfach ein Skript verwenden sollte. Thufir vor 9 Jahren 0
1
Lyrl

Eine Alternative wäre die Verwendung von Suchen und Ersetzen zum Ersetzen (mit nichts) mit nichts - mit nichts (dieser Teil könnte schwierig sein, wenn es verschiedene Arten von Zeichen gibt, die wie Bindestriche aussehen, aber wenn sie alle Standard-Bindestriche sind, ist das einfach.) und Raum mit nichts. Vier Zeichen wurden in das Feld "Suchen" eingegeben, die Schaltfläche "Alle ersetzen" wurde viermal gedrückt und fertig.