python - 如何删除python中的非字母数字字符但保留一些特殊字符

标签 python regex

我弄清楚了如何使用以下函数在 python 中删除特殊的非字母数字字符:

p_nonalphanum = re.compile('\W+')

def removeNonAlphaNum(string):
        m = p_nonalphanum.match(string)
        if m:
            string = string[m.end():]
        return string

我想保留一些特殊字符,例如我认为是数字的 ½、¾。我应该如何编辑我的正则表达式?

e.g: from "• ½ cup flour" to "½ cup flour"

最佳答案

你可以使用否定字符类并添加所有你想保留的字符

你可以这样做:

p_nonalphanum = re.compile('[^\w½¾]+')
print (p_nonalphanum.sub('', test))

关于python - 如何删除python中的非字母数字字符但保留一些特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10751785/

相关文章:

python - 基于正则表达式拆分字符串

python - AttributeError :'LinearSVC' 对象没有属性 'predict_proba'

javascript - 正则表达式替换字符串 "-"和 "/"

python - X = np.copy(X) ... 这真的没用吗?

python - Django 基于状态的 url 路由

php - php 中的正则表达式 : take the shortest match

php - 正则表达式:显示所有电话号码

php - 从字符串中删除数字前缀 - PHP 正则表达式

python - 填充表面网格的算法

python - 沿每个轴查找非零元素的最大索引