如果源字符串包含特殊字符,如何用其他字符串替换字符串[重复]

Posted

技术标签:

【中文标题】如果源字符串包含特殊字符,如何用其他字符串替换字符串[重复]【英文标题】:How to replace string by other strings if the source string contain special characters [duplicate] 【发布时间】:2018-08-01 05:14:51 【问题描述】:

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

示例:

source = "Skoda"
to_be_clean = "Škoda Rapid"

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

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

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

【问题讨论】:

真的不清楚你想要什么。您是否希望找到一种方法使 "Škoda" 等于 "Skoda" 以便您可以删除它?关于从 Unicode 中删除重音有很多问题;你用谷歌搜索过吗? 【参考方案1】:

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

# -*- coding: utf-8 -*-

import unicodedata
to_be_clean = u"Škoda Rapid"

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

输出:

Skoda Rapid

【讨论】:

谢谢,正是我想要的。我实际上不知道 unicodedata 模块。谢谢

以上是关于如果源字符串包含特殊字符,如何用其他字符串替换字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何用js或则jquery过滤特殊字符

如何用未知索引替换NSString中的特殊字符

如何用sql向数据库中插入包含特殊字符的字

处理c字符串时如何用当前输入替换用户的第一个输入

js中如何用正则判断字符串中包含百分号

如何用仅包含所有标记的引理的字符串替换列? [关闭]