####关于字符串操作的问题

scalewingzip 2006-01-21 11:37:57
在数据库里有上万条数据,就一个字段info,里面存的都是客户的信息,例如:
电话:05xx-xxxxxx 13xxxxxxxxx 21xxxxx 21xxxxx 邮编:265500
有的记录没有手机号码,有的记录有一个以上的手机号码
电话:05xx-xxxxxx 21xxxxx 21xxxxx 邮编:265500
电话:05xx-xxxxxx 13xxxxxxxxx 13xxxxxxxxx 21xxxxx 21xxxxx 邮编:265500
怎样才能把记录中的手机号码给提取出来
...全文
223 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
newskyline 2006-01-21
  • 打赏
  • 举报
回复
正则表达式可以匹配所有的符合条件的字符串没必要再切割了。

━━━━━━━━━━━━━━━━━━━━━━━━━━
我的CSDN原则:无帖我回,有帖我优,优帖我避,强帖我顶!
━━━━━━━━━━━━━━━━━━━━━━━━━━
欢迎访问小天的维动世界 www.justrun.net
scalewingzip 2006-01-21
  • 打赏
  • 举报
回复
是不是要先把整个字符串用spilt()分开了,在比较每个串是否满足是数值型,而且是11位,然后是头两位是13的。
德仔 2006-01-21
  • 打赏
  • 举报
回复
这个可能要搞个正则表达式啊,因为手机号都是以13开头的啊,我的想法就是写一个正则表达式,使之符合手机号,然后通过一个function从字段里面挑。不过这好像还有个问题啊,假如有客户不仅一个手机号的呢?又要用到split() 或者str()之类的东东啊,说起来好像容量,做起来有点难啊。
newskyline 2006-01-21
  • 打赏
  • 举报
回复
是否以13开头的号码是手机?如果有一个确定的规则,可以使用正则表达式。
程序中循环记录,在每次循环的时候匹配一次正则表达式,将匹配的记录保存起来(可以是数组或者其他表),以13开头的号码的正则表达式是:[ ](13[0-9]+)[ ]。

━━━━━━━━━━━━━━━━━━━━━━━━━━
我的CSDN原则:无帖我回,有帖我优,优帖我避,强帖我顶!
━━━━━━━━━━━━━━━━━━━━━━━━━━
欢迎访问小天的维动世界 www.justrun.net

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧