仅当字符串上存在分隔符时,才使用两个不同的分隔符拆分Python字典中的字符串

2024-06-16 10:41:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典:

{'...': '...',
'unite_fonctionnelle': 'text to keeep',
'...': '...'}

在这种情况下,字典是好的,但有时需要清理unite_fonctionnelle的值,语法总是相同的:

{'...': '...',
'unite_fonctionnelle' : 'asjbzjqnfknqfsnf<Run>text to keeep</Run>qsdqsdqsdqsfqsfegdhfkdnh',
'...': '...'}

当字符串中存在标记<Run></Run>时,我想转换unite_fonctionnelle的值,以仅保留两个标记之间的文本。如何使用split()执行此操作


Tags: torun字符串text标记文本字典语法
3条回答

给定d您的字典:

for k, v in d.items():
    if '<Run>' in v:
        d[k] = v.split('<Run>')[1].split('</Run>')[0]

这是我的方法

import re
dic = {
'unite_fonctionnelle' : 'asjbzjqnfknqfsnf<Run>text to keeep</Run>qsdqsdqsdqsfqsfegdhfkdnh'
}
for key,val in dic.items():
    if(all(x in val for x in ['<Run>','</Run>'])):dic[key] = re.split('<Run>|</Run>',val)[1]

您可以在这里简单地使用regex

试试这个:

import re

for key, value in dic.items():
    if '<Run>' in str(value):
        output = re.search('<Run>(.*)</Run>', str(value))
        print(output.group(1))

相关问题 更多 >