Python正则表达式替换\ u2022

Mor*_*len 0 python regex

这是我的字符串:

raw_list = u'Software Engineer with a huge passion for new and innovative products. Experienced gained from working in both big and fast-growing start-ups.  Specialties \u2022 Languages and Frameworks: JavaScript (Nodejs, React), Android, Ruby on Rails 4, iOS (Swift) \u2022 Databases: Mongodb, Postgresql, MySQL, Redis \u2022 Testing Frameworks: Mocha, Rspec xxxx Others: Sphinx, MemCached, Chef.'
Run Code Online (Sandbox Code Playgroud)

我试图\u2022用空格替换它.

x=re.sub(r'\u2022', ' ', raw_list)
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我究竟做错了什么?

Sup*_*Man 5

你正在使用原始字符串r.这告诉Python按字面解释字符串,而不是实际采用转义字符(例如\n).

>>> r'\u2022'
'\\u2022'
Run Code Online (Sandbox Code Playgroud)

你可以看到它实际上是一个双反斜杠.相反,你想使用>>> u'\u2022'然后它会工作.

请注意,由于您正在进行简单的替换,因此您可以使用以下str.replace方法:

x = raw_list.replace(u'\u2022', ' ')
Run Code Online (Sandbox Code Playgroud)

您只需要复制模式匹配的正则表达式替换.