python - 从python中的文本拆分
问题描述
我有一个喜欢的文字
输入 = ID-姓名-出生
我想分别提取身份证、姓名和出生。所以我用
ID= input.split('-')[0]
name= input.split('-')[1]
birth = input.split('-')[2]
有效。但有时,我的客户插入喜欢
输入 = ID_name_birth
所以我需要将代码更改为
ID= input.split('_')[0]
name= input.split('_')[1]
birth = input.split('_')[2]
我想让我的代码在插入'_'或'-'的任何情况下都能工作。我们有办法解决这个问题吗?
解决方案
使用re.split
,你也不需要调用它3次,使用解包:
import re
for input_str in 'id-name-birth', 'id_name_birth':
ID, name, birth = re.split('[-_]', input_str)
print(ID, name, birth)
输出
id name birth
id name birth
推荐阅读
- javascript - 打字稿 - TS1192:模块没有默认导出
- android - 未处理的异常:NoSuchMethodError:类“RemoteMessage”没有实例方法“[]”
- c# - 获取输入字符串并将其映射到常量并使用常量 c# 的最佳方法
- python - 使用 ros 和 python 为 UGV 自动调整 PID
- c++ - 递归 constexpr 函数的意外编译时评估
- android - 我们如何在导航抽屉中仅更改项目标题的字体
- python - 如何使用python打印字符串中的备用元素
- python - 模型输入形状错误:来自 keras 数据生成器的嵌套数组 - 形状错误
- spring-boot - @Query 给出 QuerySyntaxException
- arrays - 在 O(n log n) 时间复杂度中找到三个总和为零的元素的算法