仅当字符串中存在分隔符时,才使用两个不同的分隔符在 Python 字典中拆分字符串
Split a string in Python dictionary with two different separators only if the separator exist on the string
我有字典 :
{'...': '...',
'unite_fonctionnelle': 'text to keeep',
'...': '...'}
在这种情况下,字典很好,但有时 unite_fonctionnelle
的值需要清理,语法始终相同:
{'...': '...',
'unite_fonctionnelle' : 'asjbzjqnfknqfsnf<Run>text to keeep</Run>qsdqsdqsdqsfqsfegdhfkdnh',
'...': '...'}
当字符串中存在标记 <Run>
和 </Run>
时,我想转换 unite_fonctionnelle
的值以仅保留两个标记之间的文本。我如何使用 split() 做到这一点?
给定 d
你的字典:
for k, v in d.items():
if '<Run>' in v:
d[k] = v.split('<Run>')[1].split('</Run>')[0]
您可以在这里简单地使用正则表达式。
试试这个:
import re
for key, value in dic.items():
if '<Run>' in str(value):
output = re.search('<Run>(.*)</Run>', str(value))
print(output.group(1))
这是我的方法。
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]
我有字典 :
{'...': '...',
'unite_fonctionnelle': 'text to keeep',
'...': '...'}
在这种情况下,字典很好,但有时 unite_fonctionnelle
的值需要清理,语法始终相同:
{'...': '...',
'unite_fonctionnelle' : 'asjbzjqnfknqfsnf<Run>text to keeep</Run>qsdqsdqsdqsfqsfegdhfkdnh',
'...': '...'}
当字符串中存在标记 <Run>
和 </Run>
时,我想转换 unite_fonctionnelle
的值以仅保留两个标记之间的文本。我如何使用 split() 做到这一点?
给定 d
你的字典:
for k, v in d.items():
if '<Run>' in v:
d[k] = v.split('<Run>')[1].split('</Run>')[0]
您可以在这里简单地使用正则表达式。
试试这个:
import re
for key, value in dic.items():
if '<Run>' in str(value):
output = re.search('<Run>(.*)</Run>', str(value))
print(output.group(1))
这是我的方法。
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]