迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

从 Python 字符串中删除非字母数字字符

作者:迹忆客 最近更新:2023/03/23 浏览次数:

字母数字字符包含字母集的 26 个字符和数字 0 到 9 的混合。非字母数字字符包括不是字母或数字的字符,如 +@

在本篇文章中,我们将讨论如何在 Python 中从字符串中删除非字母数字字符。

使用 isalnum() 方法删除 Python 字符串中的所有非字母数字字符

我们可以使用 isalnum() 方法来检查给定的字符或字符串是否是字母数字。我们可以从一个字符串中单独比较每个字符,如果它是字母数字,那么我们使用 join() 函数将它组合起来。

例如,

string_value = "alphanumeric@123__"
s = ''.join(ch for ch in string_value if ch.isalnum())
print(s)

输出:

alphanumeric123

使用 filter() 函数删除 Python 字符串中的所有非字母数字字符

filter() 函数用于从可迭代对象的组件构建迭代器,并使用函数过滤对象的元素。

对于我们的问题,字符串是我们的对象,我们将使用 isalnum() 函数,它通过检查每个字符来检查给定的字符串是否包含字母数字字符。join() 函数组合所有字符以返回一个字符串。

例如,

string_value = "alphanumeric@123__"
s = ''.join(filter(str.isalnum, string_value))
print(s)

输出:

alphanumeric123

此方法不适用于 Python 3。

使用正则表达式删除 Python 字符串中的所有非字母数字字符

正则表达式是一组特殊的字符,可帮助你匹配不同的字符串或字符串集,使用模式中的特定语法。要使用正则表达式,我们导入 re 模块。

我们可以使用该模块中的 sub() 函数将所有与非字母数字字符匹配的字符串替换为空字符。

例如,

import re
string_value = "alphanumeric@123__"
s=re.sub(r'[\W_]+', '', string_value)
print(s)

输出:

alphanumeric123

或者,我们也可以使用以下模式。

import re
string_value = "alphanumeric@123__"
s = re.sub(r'[^a-zA-Z0-9]', '', string_value)
print(s)

输出:

alphanumeric123

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:Python

Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。

Pandas 追加数据到 CSV 中

发布时间:2024/04/24 浏览次数:352 分类:Python

本教程演示了如何在追加模式下使用 to_csv()向现有的 CSV 文件添加数据。

Pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:Python

本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。

Pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:Python

本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便