json - python中用正则表达式去掉字符串中的冒号
黄舟
黄舟 2017-04-18 10:30:40
0
4
932

初学python,最近尝试爬数据,json字符串的value中有冒号,需要去掉。我的代码如下。
a和b都是value中会有冒号的字符串

import re a = "Title:'Intern: Customer Experience + Innovation (CX+I) Intern Brands'" b = "cmp:'Adecco: USA',cmpesc:'Adecco: USA'" result = re.sub('^(?:Title|cmp|cmpesc):.+(\:)','', a)

代码执行结果是只剩 Customer Experience + Innovation (CX+I) Intern Brands',之前的内容全被删除了,而我想要的效果是只删intern之后的那个冒号(title后的冒号要保留)。
请问大家该如何修改?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆 (4)
大家讲道理

雷雷

    PHPzhong

    這樣的話:

    ''.join(re.split('(?

    就好了

      巴扎黑

      果然是我看錯題目了....

        小葫芦

        不用去掉冒號,直接變成字典就行了~

        >>> a = "Title:'Intern: Customer Experience + Innovation (CX+I) Intern Brands'";\ b = "cmp:'Adecco: USA',cmpesc:'Adecco: USA'" >>> dict([s.split(':',1) for s in a.split(',')]) {'Title': "'Intern: Customer Experience + Innovation (CX+I) Intern Brands'"} >>> dict([s.split(':',1) for s in b.split(',')]) {'cmpesc': "'Adecco: USA'", 'cmp': "'Adecco: USA'"} >>>

        寫成函數

        a = "Title:'Intern: Customer Experience + Innovation (CX+I) Intern Brands'" b = "cmp:'Adecco: USA',cmpesc:'Adecco: USA'" def fn(x): return dict((s.split(':',1) for s in x.replace("'","").split(','))) print(fn(a)) print(fn(b)) # {'Title': 'Intern: Customer Experience + Innovation (CX+I) Intern Brands'} # {'cmp': 'Adecco: USA', 'cmpesc': 'Adecco: USA'}
          最新下載
          更多>
          網站特效
          網站源碼
          網站素材
          前端模板
          關於我們 免責聲明 Sitemap
          PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!