本文目录导读:

在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() 是最常用且高效的方式。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播