想用Java做一个能从txt中读取手机号并加以辨别(运营商以及地区)的程序
我了解如何从txt中读取并输出,但是要根据运营商以及地区进行辨别,就需要从手机号的前4位进行处理,因此相求高人解释一下,11位的数据如何只获取前4位?还有,如果是批量的手...
我了解如何从txt中读取并输出,但是要根据运营商以及地区进行辨别,就需要从手机号的前4位进行处理,因此相求高人解释一下,11位的数据如何只获取前4位?还有,如果是批量的手机号,有时候有写的不规范的,比如138XXXXXXXX,151XXXXXXXX;或者138XXXXXXXX,151XXXXXXXX;就是中间连接的有中文字符有英文字符,应当如何去用Java处理?万分感谢
展开
2个回答
展开全部
设计思路是
环境:未知长度的TXT文本 其中有 11位 手机号码 1个或多个
目的:读取其中号码前4位 来分辨运营商和地区
1 读取1个或多个手机号
规则是 全数字 1开始 长度 11位, 这个比较好判断 直接按字符读取 TXT中数据 判断这个字符是否是1 ,如果是1 就开始 读11位 正则判断是否符合手机号规则 ,符合就 记录下这个号 用字符串来存储就可以了 比如 String hao="138xxxxxxxx-133xxxxxxxx" 中间用-间隔开就可以了直到读完了TXT 获得全部符合 手机号的一个 字符串
2 获得前4位 号 并判断运营商及地区
假如上面取了3个号 组成了一个字符串 hao="138xxxxxxxx-133xxxxxxxx-155xxxxxxxx"
先按“-” 来分组 获得 String 的数组 zhao={"138xxxxxxxx" ,"133xxxxxxxx","155xxxxxxxx"}
遍历这个数组 分别取出 每个字符串的前4位 String 里有方法 你可以查下API 用正则判断下这4位 或者 某特定位置有什么规则 你自己写就可以了。
环境:未知长度的TXT文本 其中有 11位 手机号码 1个或多个
目的:读取其中号码前4位 来分辨运营商和地区
1 读取1个或多个手机号
规则是 全数字 1开始 长度 11位, 这个比较好判断 直接按字符读取 TXT中数据 判断这个字符是否是1 ,如果是1 就开始 读11位 正则判断是否符合手机号规则 ,符合就 记录下这个号 用字符串来存储就可以了 比如 String hao="138xxxxxxxx-133xxxxxxxx" 中间用-间隔开就可以了直到读完了TXT 获得全部符合 手机号的一个 字符串
2 获得前4位 号 并判断运营商及地区
假如上面取了3个号 组成了一个字符串 hao="138xxxxxxxx-133xxxxxxxx-155xxxxxxxx"
先按“-” 来分组 获得 String 的数组 zhao={"138xxxxxxxx" ,"133xxxxxxxx","155xxxxxxxx"}
遍历这个数组 分别取出 每个字符串的前4位 String 里有方法 你可以查下API 用正则判断下这4位 或者 某特定位置有什么规则 你自己写就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询