关于python:如果源字符串包含特殊字符,如何用其他字符串替换字符串

How to replace string by other strings if the source string contain special characters

本问题已经有最佳答案,请猛点这里访问。

为了清除一些字符串,我必须删除一些包含一些特殊的UTF-8字符的子字符串。

例子:

1
2
source ="Skoda"
to_be_clean ="?koda Rapid"

我需要用to_be_clean替换字符串source。显然,to_be_clean字符串包含一些特殊字符。有没有简单地完成这项任务的方法?我今天就是这样做的。

1
output = to_be_clean.replace(source + ' ', '')

我在考虑正则表达式,但我需要列出所有可能的字符。


UnicodeData模块应该可以解决您的问题。

1
2
3
4
5
6
# -*- coding: utf-8 -*-

import unicodedata
to_be_clean = u"?koda Rapid"

print unicodedata.normalize('NFKD', to_be_clean).encode('ASCII', 'ignore')

输出:

1
Skoda Rapid