本文目录导读:

在Python中,拆分字符串有多种方法,下面是常用的几种方式:
使用 split() 方法(最常用)
按空格拆分(默认)
text = "Python 案例 如何 拆分 字符串" result = text.split() print(result) # ['Python', '案例', '如何', '拆分', '字符串']
按指定字符拆分
# 按逗号拆分
text = "苹果,香蕉,橘子,西瓜"
result = text.split(",")
print(result) # ['苹果', '香蕉', '橘子', '西瓜']
# 按多个字符拆分
text = "a||b||c"
result = text.split("||")
print(result) # ['a', 'b', 'c']
限制拆分次数
text = "a-b-c-d-e"
result = text.split("-", 2) # 只拆分前2次
print(result) # ['a', 'b', 'c-d-e']
使用 rsplit() 方法(从右开始拆分)
text = "a-b-c-d-e"
result = text.rsplit("-", 2) # 从右边开始拆分2次
print(result) # ['a-b-c', 'd', 'e']
使用 splitlines() 方法(按行拆分)
text = """第一行 第二行 第三行""" result = text.splitlines() print(result) # ['第一行', '第二行', '第三行']
使用 re.split() 方法(正则表达式拆分)
import re # 按多个分隔符拆分 text = "苹果,香蕉;橘子 西瓜|葡萄" result = re.split(r'[,; |]+', text) # 按逗号、分号、空格、竖线拆分 print(result) # ['苹果', '香蕉', '橘子', '西瓜', '葡萄'] # 按数字拆分 text = "a1b2c3d4e" result = re.split(r'\d+', text) print(result) # ['a', 'b', 'c', 'd', 'e']
实际应用案例
案例1:解析CSV数据
csv_data = "张三,25,北京,工程师"
fields = csv_data.split(",")
print(f"姓名: {fields[0]}")
print(f"年龄: {fields[1]}")
print(f"城市: {fields[2]}")
print(f"职业: {fields[3]}")
案例2:处理文件路径
path = "/home/user/documents/file.txt"
parts = path.split("/")
print(f"文件名: {parts[-1]}") # file.txt
print(f"目录: {parts[:-1]}") # ['', 'home', 'user', 'documents']
案例3:解析URL参数
url = "http://example.com/api?name=python&version=3.9&page=1"
if "?" in url:
query_string = url.split("?")[1]
params = query_string.split("&")
for param in params:
key, value = param.split("=")
print(f"{key}: {value}")
注意事项
split()不会修改原字符串,它会返回一个新的列表- 分隔符不会包含在结果中
- 连续的分隔符会产生空字符串
text = "a,,b,c" result = text.split(",") print(result) # ['a', '', 'b', 'c']
选择哪种方法取决于你的具体需求,split() 是最常用且高效的方式。