有没有可以将电话号码转换为 E.164 格式的工具?

有没有可以将电话号码转换为 E.164 格式的工具?

我正在寻找一种快速、简单且易于重复的解决方案,以便从电子表格的列中删除非数字数据,以便导入到 MySQL 数据库。示例:

(123)456-7890   fred  

这些都是 Microsoft Excel 中的一个单元格;一列。条目不是采用标准格式。

  • 大多数行中没有额外的名称,但有些行有。名称是多余的,我只需要数字。
  • 对于国际拨号(我想是的,但我不确定)如果将电话​​号码视为整数,则需要担心前导零。但我并不担心。我想要的是整数形式的数字结果。
  • 电话号码可以采用各种常见格式,不一定符合此 13 个字符的示例,区号放在括号中,后 4 位数字用连字符分隔。例如,它可能有一个前导数字,如 0 或 1,区号可以用连字符分隔,而不是放在括号中,等等。

我不想排除任何特定的方法,但该问题似乎适合于一种解决方案,即删除非数字字符,而不是尝试解密和解析所有可能的内容。

我将其导入 Google 电子表格进行备份。我是 Linux 用户,因此无法访问本机 Microsoft Excel,这就是它被接收的方式。但是,我可以访问 Libre Office。

我知道我可以使用MySQL 正则表达式用于此目的,如本主题中所述

这提供了一些选项。我只是在想 LibreOffice 或 Google Spreadsheet 中可能有一个用于此的工具。我有点担心通过 Web 应用程序运行它,这取决于它是谁的 Web 应用程序。

所需的格式是:

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

答案1

好了,这是 Google 电子表格:

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

您可以将相同的公式扩展到所有记录

=SPLIT(A1," ")

或者您可以尝试使用数组公式进行更复杂的操作......

实际上,如果你正在寻找插入或更新语句,你可以从谷歌电子表格中获取它们,我推荐这个

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

答案2

另一种方法是使用“查找和替换”将 ( 替换为空,) 替换为空,- 替换为空(如果有多种看起来像破折号的不同类型的字符,这一部分可能会很棘手,但如果它们都是标准破折号,则很容易),并将空格替换为空。在“查找”字段中输入四个字符,按四次“全部替换”按钮,即可完成。

相关内容