【问题标题】:Split a string in Python dictionary with two different separators only if the separator exist on the string仅当分隔符存在于字符串上时,才使用两个不同的分隔符拆分 Python 字典中的字符串
【发布时间】:2021-07-28 22:45:14
【问题描述】:

我有一本字典:

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

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

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

当标签&lt;Run&gt;&lt;/Run&gt; 出现在字符串中时,我想转换unite_fonctionnelle 的值,以仅保留两个标签之间的文本。如何使用 split() 做到这一点?

【问题讨论】:

标签: python string dictionary split txt


【解决方案1】:

您可以在这里简单地使用正则表达式。

试试这个:

import re

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

【讨论】:

  • 谢谢,我将它改编为我的代码,它运行良好!
  • 欢迎 :) @Howins
【解决方案2】:

给定d您的字典:

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

【讨论】:

    【解决方案3】:

    这是我的方法。

    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]
    

    【讨论】:

      猜你喜欢
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多