先读取文本内容,再根据结构选择字符串处理、正则表达式或专用库提取信息。1. 读取文件或字符串变量;2. 用split()、find()等方法提取固定格式信息;3. 用re.findall()提取邮箱、电话、日期等规律性信息;4. 对JSON、HTML、PDF等结构化文本分别使用json、BeautifulSoup、PyPDF2等工具解析后提取。

提取文本信息在Python中很常见,主要根据文本来源和结构选择合适的方法。核心思路是读取文本内容后,用字符串处理、或专用库进行信息抽取。
1. 读取文本内容
先将文本加载到程序中,常见方式有读取文件或处理字符串变量。
示例:
- 读取本地文本文件:
with open('text.txt', 'r', encoding='utf-8') as f: text = f.read()登录后复制 - 处理字符串:
text = "这里是需要提取信息的文本内容"
登录后复制
2. 使用字符串方法提取简单信息
适用于格式固定的文本,比如提取关键词前后的内容。
- split() 分割文本: 按分隔符切分,取所需部分
title = text.split("标题:")[1].split("n")[0]登录后复制 - find() + 切片: 定位关键词位置并提取
start = text.find("电话:") + 3 end = text.find("n", start) phone = text[start:end]登录后复制
3. 使用正则表达式提取复杂模式
适合提取电话号码、、日期等有规律的信息。
本文档主要讲述的是j2me3D游戏开发简单教程; 如今,3D图形几乎是任何一部游戏的关键部分,甚至一些应用程序也通过用3D形式来描述信息而获得了成功。如前文中所述,以立即模式和手工编码建立所有的3D对象的方式进行开发速度很慢且很复杂。应用程序中多边形的所有角点必须在数组中独立编码。在JSR 184中,这称为立即模式。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
0 立即学习“”;
示例:
- 提取邮箱:
import re emails = re.findall(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}', text)登录后复制 - 提取手机号:
phones = re.findall(r'1[3-9]d{9}', text)登录后复制 - 提取日期(如-04-05):
dates = re.findall(r'd{4}-d{2}-d{2}', text)登录后复制
4. 处理结构化文本(如JSON、HTML、PDF)
不同格式需用对应解析后再提取。
- JSON 数据:
import json data = json.loads(text) value = data['key']
登录后复制 - HTML 页面(用 BeautifulSoup):
from bs4 import BeautifulSoup soup = BeautifulSoup(text, 'html.parser') titles = soup.find_all('h1')登录后复制 - PDF 文件(用 PyPDF2 或 plumber):
import PyPDF2 reader = PyPDF2.PdfReader('file.pdf') text = reader.pages[0].extract_text()登录后复制
基本上就这些。根据你的文本类型选对方法,再结合字符串操作和正则表达式,就能高效提取所需信息。
以上就是如何提取文本信息?的详细内容,更多请关注php中文网其它相关文章!
相关标签:
微信扫一扫打赏
支付宝扫一扫打赏
