今天处理数据要提取字符串中的微信,字符串中包含中文英文Emoji,标点符号等。
python 提取字符串中的电话
提取电话相对简单,多个电话也可以提取
import re
desstr = "视频同款18588888888微信同步"
phone = re.findall('(13\d{9}|14[5|7]\d{8}|15\d{9}|166{\d{8}|17[3|6|7]{\d{8}|18\d{9})', desstr)
print(phone)
python提取微信账号
这里我使用python移除了Emoji,标点符号,换行等,完整代码如下:
import re
desstr="""视频同款Emoji Emoji
Emoji:草莓树莓是姐妹
Emoji:8888888888(注来意)
Emoji日常视频
分享全国旅行照片!
Emoji私信不回"""
# 过滤除中,英文及数字以外的其他字符
words = re.compile("[^\\u4e00-\\u9fa5^a-z^A-Z^0-9]").sub("-", desstr).replace(":","-").replace(":","-").replace("\n","-").replace("--", "-").replace("--", "-")
# 打印过滤后的数据
print(words)
# 判断是否包含中文,包含则不是账号,这里可以自行提前移除中文
def is_chinese(string):
for ch in string:
if u&#39;\u4e00&#39; <&#61; ch <&#61; u&#39;\u9fff&#39;:
return True
return False
# 拆分字符串提取账号
keywords &#61; re.split("-", words)
print(keywords)
for keyword in keywords:
# 微信号长度为6-20
if len(keyword) > 6 and len(keyword) <20:
chinese &#61; is_chinese(keyword)
if not chinese:
print(keyword)
原创文章&#xff0c;转载请注明 &#xff1a;Python3 在字符串中提取字母&#43;数字组合微信账号、电话等 - pytorch中文网
原文出处&#xff1a; https://ptorch.com/news/264.html
问题交流群 &#xff1a;168117787