如何利用Python獲取文本中的電話號(hào)碼實(shí)例代碼
前言
此編制利用Python的簡(jiǎn)單編程,實(shí)現(xiàn)獲取txt文本里的電話號(hào)碼。
這里小編使用了Python3.8.6,os、re庫
打開文本
#事先新建文本readphone.txt,將要提取的文章內(nèi)容復(fù)制到readphone.txt里。
下方為Python打開文本
TXTtemp = open("readphone.txt","r+") txtbuffer=TXTtemp.read()
正則表達(dá)式遍歷電話
利用正則表達(dá)式提取11位數(shù)字的電話號(hào)碼。
patter="(?:^|[^\d])(1\d{10})(?:$|[^\d])" phone_list=re.compile(patter).findall(txtbuffer)
最后拼接輸出
輸出會(huì)新建一個(gè)文檔getphone.txt來存放提取到的電話(在文件夾里沒有g(shù)etphone.txt的時(shí)候),多次使用會(huì)自動(dòng)換行填寫。
with open('getphone.txt','a') as file0: print('%s' %a,'%s' %t,'%s' %s,file=file0)
完整的代碼↓
復(fù)制粘貼可直接用,這里多了datetime是為了加入時(shí)間區(qū)分是什么時(shí)候獲取電話的。
import os,re,datetime TXTtemp = open("readphone.txt","r+") txtbuffer=TXTtemp.read() patter="(?:^|[^\d])(1\d{10})(?:$|[^\d])" phone_list=re.compile(patter).findall(txtbuffer) t = 'Phone is : ' s = phone_list a = datetime.datetime.now().date() with open('getphone.txt','a') as file0: print('%s' %a,'%s' %t,'%s' %s,file=file0) close(TXTtemp)
效果圖↓↓↓
使用方法
獲取文章中的電話號(hào)碼(11位數(shù))
(1)將文章粘貼到readphone.txt保存
(2)雙擊運(yùn)行程序.py
(3)打開getphone.txt提取到的電話在里面
補(bǔ)充:使用Python提取電話號(hào)碼和E-mail地址
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # @File : PhoneAndEmail.py 項(xiàng)目:電話號(hào)碼與Email地址提取程序 # @Software: PyCharm """ 運(yùn)行程序,從剪貼板獲取文本,找出文本所有的Email地址和電話號(hào)碼,然后將其粘貼到剪貼板 """ import pyperclip, re phoneRegex = re.compile(r'''( (\d{3}|\(\d{3}\))? # 可選的區(qū)號(hào) (\s|-|\.)? # 中間的分隔符 (\d{3}) # 開始的3個(gè)數(shù)字 (\s|-|\.)? # 中間的分隔符 (\d{4}) # 后面的4個(gè)數(shù)字 (\s*(ext|x|ext.)\s*(\d{2,5}))? # 可選的分機(jī)號(hào) )''', re.VERBOSE) emailRegex = re.compile(r'''( [a-zA-Z0-9._%+-]+ # 用戶名 @ [a-zA-Z0-9.-]+ # 域名 (\.[a-zA-Z]{2,4}) )''', re.VERBOSE) text = pyperclip.paste() matches = [] for groups in phoneRegex.findall(text) : phoneNum = '-'.join([groups[1], groups[3], groups[5]]) if groups[8] != '' : phoneNum += ' x' + groups[8] matches.append(phoneNum) for groups in emailRegex.findall(text) : matches.append(groups[0]) if len(matches) > 0 : pyperclip.copy('\n'.join(matches)) print('Copied to clipboard') print('\n'.join(matches)) else : print('No phone numbers or email addresses found.')
結(jié)語
到此這篇關(guān)于如何利用Python獲取文本中電話號(hào)碼的文章就介紹到這了,更多相關(guān)Python獲取文本中電話號(hào)碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python使用suds調(diào)用webservice接口的方法
今天小編就為大家分享一篇python使用suds調(diào)用webservice接口的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01解決python報(bào)錯(cuò):AttributeError:?'ImageDraw'?object?h
這篇文章主要給大家介紹了關(guān)于解決python報(bào)錯(cuò):AttributeError:?'ImageDraw'?object?has?no?attribute?'textbbox'的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01Python編程matplotlib繪圖挑鉆石seaborn小提琴和箱線圖
這篇文章主要為大家介紹了Python編程如何使用matplotlib繪圖來挑出完美的鉆石以及seaborn小提琴和箱線圖,有需要的朋友可以借鑒參考下,希望能夠優(yōu)速幫助2021-10-10python學(xué)習(xí)字符串駐留與常量折疊隱藏特性詳解
這篇文章主要為大家介紹了python學(xué)習(xí)中字符串駐留與常量折疊的一些隱藏特性,并給大家進(jìn)行了詳細(xì)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09Python利用txt文件對(duì)Mysql進(jìn)行增刪改查移
這篇文章主要介紹了如何在Python中利用TXT文件對(duì)Mysql中的記錄進(jìn)行增刪改查移,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)學(xué)習(xí)2021-12-12Python+ChatGPT制作一個(gè)AI實(shí)用百寶箱
ChatGPT最近在互聯(lián)網(wǎng)掀起了一陣熱潮,其高度智能化的功能能夠給我們現(xiàn)實(shí)生活帶來諸多的便利。本文就來用Python和ChatGPT制作一個(gè)AI實(shí)用百寶箱吧2023-02-02