字符串:打开文本分析的大门
Strings: The Gateway to Text Analysis
文本分析的第一步不是跑模型,而是读懂字符串。评论、标题、聊天记录 — 在 Python 里全是 str 类型。掌握字符串操作,就掌握了一半的预处理。
1. 创建字符串
用单引号、双引号、三引号都可以,中文也直接支持:
# 三种写法等价
s1 = '这款手机真不错'
s2 = "物流太慢了"
s3 = """多行
文本也可以"""
2. 索引与切片
字符串像数组一样,从 0 开始编号:左闭右开。
s = "Python文本分析"
s[0] # 'P' 第 1 个字符
s[-1] # '析' 最后 1 个
s[0:6] # 'Python' 前 6 个
s[6:] # '文本分析' 从第 7 个开始到结尾
s[::-1] # '析分本文nohtyP' 反转
3. 常用方法(必背 8 个)
text = " 这款手机真不错!拍照很清晰 "
text.strip() # 去掉首尾空格
text.replace('手机', '相机') # 替换
text.split('!') # 按 ! 切分
'!'.join(['a', 'b']) # 拼接
text.lower() # 转小写
text.upper() # 转大写
text.startswith('这') # 是否以 这 开头
text.endswith(' ') # 是否以空格结尾
4. f-string 格式化(强烈推荐)
比 % 和 .format() 都直观,Python 3.6+ 必备:
name = "情感分析"
version = "3.0"
accuracy = 0.92
print(f"{name} V{version} 准确率 {accuracy:.0%}")
# → 情感分析软件 准确率 92%
实战提醒:处理用户评论时,90% 的字符串操作就是
strip(去空白) + replace(替换) + split(切分)。先把这 3 个练熟。
5. 一个真实案例:清理评论文本
raw = " 这款手机@小米 真心不错!http://t.cn/abc123 👍👍 "
# 清理步骤
clean = raw.strip() # 去首尾空白
clean = clean.replace('@小米', '') # 去 @用户
import re
clean = re.sub(r'http\S+', '', clean) # 去 URL
clean = re.sub(r'[^\w\s\u4e00-\u9fff!!??,。.]', '', clean) # 去 emoji
print(clean) # → '这款手机 真心不错! '
words = clean.split() # 按空格分词
print(words) # → ['这款手机', '真心不错!']
这 5 行代码的"清洗模板",是文本分析项目的标配。下一节我们把它扩展成批量处理 5 万条评论。