正则表达式。如果它在某个符号之前,如何删除多个出现的'u'

时间:2013-05-23 15:22:47

标签: python regex

我有这个字符串:

p = "{u'symbols': [], u'user_mentions': [{u'indices': [0, 9], u'id': 1425561991, u'id_str': u'1425561991', u'name': u'h u2661', u'screen_name': u'oppsli4m'}, {u'indices': [10, 23], u'id': 27260086, u'id_str': u'27260086', u'name': u'Justin Bieber', u'screen_name': u'justinbieber'}], u'hashtags': [], u'urls': []}"

正如您所看到的,我在每个字符串前面都有一个“Unicode字符”。因此,如果它位于u前面,我想删除每个'

我试过了:

vals = re.split('u', p)

此表达式的其他一些变体。但没有运气。

我希望我的问题很明确,但为了以防万一,我想得到的结果应该是这样的:

"{'symbols': [], 'user_mentions': [{'indices': [0,9], 'id': 124......"

2 个答案:

答案 0 :(得分:6)

没有。你不想这样做。

你不应该首先传递那个字符串。我不知道它来自哪里,但似乎有人刚刚在列表中调用了str。相反,您应该使用正确的序列化方法,即JSON。

答案 1 :(得分:2)

我想这就是你要找的东西:

import re
print re.sub(r"u('\w)", r"\1", p)