Python中如何给.split()方法传入多个分隔符 实现单字符串多变量拆分
多分隔符拆分输入实现方案
Python 原生的字符串split()方法不支持直接指定多个分隔符,以下是两种常用实现方式,我们以同时支持**逗号(,)和分号(;)**作为分隔符为例演示,你可以按需替换为自己需要的两个分隔符:
方案1:使用正则模块的re.split()方法(推荐)
该方式灵活度最高,直接指定多分隔符规则即可,无需额外做字符串预处理:
# 功能:输入三个班级的学生人数,输出所需课桌总数量 import math import re # 导入正则处理模块 # 规则[]内填入你需要的所有分隔符即可,示例同时支持逗号、分号拆分 First_Class, Second_Class, Third_Class = re.split(r'[,;]', input("请输入三个班级的学生人数,用分隔符隔开:")) Amount_Of_Desks = math.ceil(int(First_Class) / 2) + math.ceil(int(Second_Class) / 2) + math.ceil(int(Third_Class) / 2) print(f"所需课桌总数量为:{Amount_Of_Desks}")
如果需要自动忽略分隔符前后的空格,把拆分规则调整为r'\s*[,;]\s*'即可。
方案2:字符替换后使用原生split()
如果不想引入正则模块,可以先把其中一种分隔符统一替换为另一种,再调用原生拆分方法:
# 功能:输入三个班级的学生人数,输出所需课桌总数量 import math input_str = input("请输入三个班级的学生人数,用分隔符隔开:") # 先把所有分号替换为逗号,再用逗号统一拆分 First_Class, Second_Class, Third_Class = input_str.replace(';', ',').split(sep=",") Amount_Of_Desks = math.ceil(int(First_Class) / 2) + math.ceil(int(Second_Class) / 2) + math.ceil(int(Third_Class) / 2) print(f"所需课桌总数量为:{Amount_Of_Desks}")
内容的提问来源于stack exchange,提问作者user17173632
相关产品推荐
相关产品推荐

