让我们来详细讲解一下Python中字符串String的基本内置函数与过滤字符模块函数的基本用法。
内置函数
Python中字符串的内置函数非常丰富,常用的有以下几类:
1. 查找字符串
find(sub[, start[, end]])
: 查找字符串sub
在字符串中第一次出现的位置,返回下标(如果没有找到,返回-1)。可以指定开始查找和结束查找的下标。index(sub[, start[, end]])
: 类似于find
,但是如果sub
没有找到,会抛出ValueError
异常。
示例:
s = 'hello world'
print(s.find('lo')) # 3
print(s.index('lo')) # 3
print(s.find('python')) # -1
print(s.index('python')) # 抛出异常 ValueError: substring not found
2. 统计字符
count(sub[, start[, end]])
: 统计某个字符串sub
在字符串中出现的次数。可以指定开始统计和结束统计的下标。
示例:
s = 'hello world'
print(s.count('l')) # 3
print(s.count('lo')) # 1
3. 替换字符串
replace(old, new[, count])
: 将字符串中的old
替换为new
。可以指定最多替换多少次(count
)。
示例:
s = 'hello world'
print(s.replace('l', '1')) # he11o wor1d
print(s.replace('l', '1', 2)) # he11o world
4. 分割字符串
split([sep[, maxsplit]])
: 将字符串按照指定分隔符sep
分割成多个子字符串,返回一个列表。可以指定分割的最多次数。
示例:
s = 'hello,world,nihao'
print(s.split(',')) # ['hello', 'world', 'nihao']
print(s.split(',', 1)) # ['hello', 'world,nihao']
5. 大小写转换
upper()
: 将字符串中所有字符转换为大写。lower()
: 将字符串中所有字符转换为小写。
示例:
s = 'Hello World'
print(s.upper()) # HELLO WORLD
print(s.lower()) # hello world
过滤字符模块函数
除了内置函数,Python中还有一些常用的过滤字符模块函数,比如string
模块中的ascii_letters
和digits
函数。ascii_letters
可以返回所有字母,digits
可以返回所有数字。
示例:
import string
print(string.ascii_letters) # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.digits) # 0123456789
接下来,我们将使用string
模块中的函数实现一个过滤掉所有非字母和数字的函数filter_non_alnum
。
import string
def filter_non_alnum(s):
"""
过滤掉所有非字母和数字的字符
"""
return ''.join(filter(lambda x: x in string.ascii_letters + string.digits, s))
# 测试
s = 'hello-world, 2021年'
print(filter_non_alnum(s)) # helloworld2021
以上就是Python中字符串String的基本内置函数与过滤字符模块函数的基本用法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中字符串String的基本内置函数与过滤字符模块函数的基本用法 - Python技术站