本文目录导读:

我来介绍几个Python字符串分割的实用案例。
基础分割 - split()
按空格分割(默认)
text = "Python 编程 语言 学习" result = text.split() print(result) # ['Python', '编程', '语言', '学习']
按指定字符分割
text = "apple,banana,orange,grape"
result = text.split(",")
print(result) # ['apple', 'banana', 'orange', 'grape']
限制分割次数 - split(maxsplit)
text = "2024-01-15-weather-report"
result = text.split("-", 2)
print(result) # ['2024', '01', '15-weather-report']
# 只分割一次
result2 = text.split("-", 1)
print(result2) # ['2024', '01-15-weather-report']
从右侧分割 - rsplit()
path = "/home/user/projects/data/file.txt"
result = path.rsplit("/", 1)
print(result) # ['/home/user/projects/data', 'file.txt']
# 获取文件扩展名
filename = "report_2024.csv"
name, ext = filename.rsplit(".", 1)
print(f"文件名: {name}, 扩展名: {ext}") # 文件名: report_2024, 扩展名: csv
按多字符分割
# 方法1:使用正则表达式
import re
text = "Python||Java||C++||JavaScript"
result = re.split(r"\|\|", text)
print(result) # ['Python', 'Java', 'C++', 'JavaScript']
# 方法2:替换后分割
result2 = text.replace("||", ",").split(",")
print(result2) # ['Python', 'Java', 'C++', 'JavaScript']
按换行符分割
multi_line = """第一行文本
第二行文本
第三行文本
第四行文本"""
# 方式1
lines1 = multi_line.split("\n")
print(lines1) # ['第一行文本', '第二行文本', '第三行文本', '第四行文本']
# 方式2:推荐,会自动处理不同平台换行符
lines2 = multi_line.splitlines()
print(lines2) # ['第一行文本', '第二行文本', '第三行文本', '第四行文本']
实际案例
案例1:解析CSV数据
csv_data = "张三,25,北京,工程师\n李四,30,上海,设计师"
rows = csv_data.split("\n")
for row in rows:
fields = row.split(",")
name, age, city, job = fields
print(f"姓名: {name}, 年龄: {age}, 城市: {city}, 职业: {job}")
案例2:解析URL参数
url = "https://example.com/search?q=python&page=1&lang=zh"
# 获取查询参数部分
query_string = url.split("?")[1]
print(query_string) # q=python&page=1&lang=zh
# 解析参数
params = query_string.split("&")
for param in params:
key, value = param.split("=")
print(f"{key}: {value}")
案例3:文本清洗
dirty_text = " Python 编程 语言 学习 " # 分割并去除空白 clean_words = [word for word in dirty_text.split() if word.strip()] print(clean_words) # ['Python', '编程', '语言', '学习']
注意事项
# 1. 空字符串分割
text = "a,b,,c"
# 默认会保留空字符串
result = text.split(",")
print(result) # ['a', 'b', '', 'c']
# 2. 分割字符不存在时
text = "hello world"
result = text.split(",")
print(result) # ['hello world']
# 3. 连续分隔符
text = "a||b|||c"
result = text.split("||")
print(result) # ['a', 'b', '|c']
split():最常用的分割方法,默认按空白字符分割rsplit():从右侧开始分割,适合处理路径splitlines():按行分割,处理不同系统换行符re.split():支持正则表达式的复杂分割- maxsplit参数:控制分割次数
选择哪个方法取决于你的具体需求和数据格式。
版权声明: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直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播