首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用python拆分input_data?

如何使用python拆分input_data?
EN

Stack Overflow用户
提问于 2019-02-19 05:30:56
回答 2查看 112关注 0票数 0

更新的问题

代码语言:javascript
代码运行次数:0
运行
复制
input_data = 'ABCD:Data ScientistPBCD:Python Developer QBCD:Artificial IntelligenceBCD:Machine Learning Developer'

tag_list = ["ABCD", "BCD", "PBCD", "QBCD"]

使用tag_list拆分上述输入数据

代码语言:javascript
代码运行次数:0
运行
复制
for each_tag in tag_list:
    input_data = input_data.replace(each_tag, "|" + each_tag)

print(input_data)

在执行上述代码时,我得到了以下错误输出

代码语言:javascript
代码运行次数:0
运行
复制
Error Output:-
|A|BCD:Data Scientist|P|BCD:Python Developer |Q|BCD:Artificial Intelligence|BCD:Machine Learning Developer

我期望得到以下结果:-

代码语言:javascript
代码运行次数:0
运行
复制
Expected Output :-
|ABCD:Data Scientist|PBCD:Python Developer |QBCD:Artificial Intelligence|BCD:Machine Learning Developer

如何解决上述错误?

请检查以下代码:-当新数据出现时,我已经测试了所有我得到的错误代码

代码语言:javascript
代码运行次数:0
运行
复制
import re

input_data = 'ABCD:AKSHAYTAB:INDIAN ARMYWXYZ:1234-M234656VXYZ:45666Gb4565UXYZ:45535353TIME:17:20OBTRL:346644MNP2:PUNE UNIVERCITYMNP3:SATARA PUNEMNP6:46564PQR2:AMAR GODASEEPQR3:PUNE 3545 LIIS1:467574IIS2:BANK OF INDIAABK1:56365ABK2:KOREGAON SATARAMTL: BEM:56546445745/PPI:MMC:AJINKYA DALAVI.FFC XYZ: SUMIT GODASE SATARAPPI:CNF:ANTARES HOLDINGS LP/AC-50293315'

tag_list = ["ABCD", "TAB", "WXYZ", "VXYZ", "UXYZ", "TIME", "OBTRL", "MNP2", "MNP3", "MNP6", "PQR2", "PQR3", "OGB3", "IIS1", "IIS2", "ABK1", "ABK2", "MTL", "BEM", "PPI", "MMC", "XYZ", "PPI", "CNF"]

for each_tag in tag_list:
 print(each_tag)
 input_data = re.sub(r"(?<![A-Z])"+each_tag, "|" + each_tag, input_data)

print(input_data)

请检查下面的图片,我有黄色高亮显示的部分没有分割。

在这里输入图像描述

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-19 07:10:12

如果您的标记是详尽的,下面是您可以做的事情:

代码语言:javascript
代码运行次数:0
运行
复制
import re

input_data = 'ABCD:Data ScientistPBCD:Python Developer QBCD:Artificial IntelligenceBCD:Machine Learning Developer'

tag_list = ["ABCD", "BCD", "PBCD", "QBCD"]
pattern = r'([A|P|Q]{0,1}BCD)'
subbed_data = re.sub(pattern, r'|\1', input_data)

>>>subbed_data
'|ABCD:Data Scientist|PBCD:Python Developer |QBCD:Artificial Intelligence|BCD:Machine Learning Developer'
票数 0
EN

Stack Overflow用户

发布于 2019-02-19 05:34:13

您可以使用替换方法。

此正则表达式将匹配所需的内容。

代码语言:javascript
代码运行次数:0
运行
复制
([A-Z]+?(?=:))

并替换为!\1

  • ([A-Z]+?(?=:)) -匹配A到Z一个或多个时间,然后是:

演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54759420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档