gpt4 book ai didi

mysql - 如何使用 REGEX 清理标点符号、空格和字母

转载 作者:行者123 更新时间:2023-11-29 08:53:35 27 4
gpt4 key购买 nike

我有一些关于电话号码的示例,如下所示:

0810-093-485-58
0811.4845.5677
0812 567 6788 2
08138475967079/0813845765998
0814749345875 NEW
64739845985
0815756867967 (G) / 022 845 769
00816956865090
0817637698578

我尝试使用替换和正则表达式,如下:

select replace (number, '','') as phone_number
from details
where number not regexp '[[:punct:] A-Za-z]' and number not regexp '^ [1-9]'

这些语法仅应用结果:

0817637698578

我的观点是我想清理那些标点符号、空格和包含的字母:

081009348558
081148455677
08125676788 2
08138475967079
0814749345875
0815756867967
0816956865090
0817637698578

所以,结果不仅是一个,而是所有电话号码,只是非数字都被清除。语法怎么样?请帮忙。谢谢。

最佳答案

您的 where 子句排除了所有包含字母、空格或标点符号的数字,因此您将看到的都是格式良好的数字。此外,replace (number, '','') 根本不会对字符串进行任何更改。

如果没有正则表达式 replace 函数,就没有什么好的方法可以做到这一点,该函数可作为用户定义的函数使用,但不是 native 函数。看PREG_REPLACE here .

关于mysql - 如何使用 REGEX 清理标点符号、空格和字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10538704/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com