字符串是文本操作的核心,在python中字符串是string类的实例,在string模块中,定义了很多的常量
>>> import string
>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.digits
'0123456789'
>>> string.hexdigits
'0123456789abcdefABCDEF'
>>> string.octdigits
'01234567'
主要是数字和字符串,同时也提供了很多的方法,包含以下几类
1. 大小写转换
用法如下
# 首字母大写,其他字符不变
>>> 'abc'.capitalize()
'Abc'
# 全部转换为大写
>>> 'abc'.upper()
'ABC'
# 全装转换为小写
>>> 'abc'.lower()
'abc'
# 全部转换为小写
>>> 'abc'.casefold()
'abc'
# 首字母大写,其他字母小写
>>> 'ABC'.title()
'Abc'
# 大小写互换,大写变小写,小写变大写
>>> 'Abc'.swapcase()
'aBC'
2. 去除空白字符
用法如下
# 去除字符串开头和末尾的空白字符
>>> ' ABC '.strip()
'ABC'
# 去除开头的空白字符
>>> ' ABC '.lstrip()
'ABC '
# 去除末尾的空白字符
>>> ' ABC '.rstrip()
' ABC'
不提供参数的情况下,以上函数的作用就是去除空白字符,也可以提供参数,去除指定字符,示例如下
>>> 'ABC'.strip('C')
'AB'
3. 字符串查找和替换
用法如下
# 从开头查找,返回第一次匹配的索引
>>> 'ABC'.find('A')
0
# 从末尾查找,返回第一次匹配的索引
>>> 'ABC'.rfind('A')
0
# 从开头查找,返回第一次匹配的索引
>>> 'ABC'.index('A')
0
# 从末尾查找,返回第一次匹配的索引
>>> 'ABC'.rindex('A')
0
4. 模式判断
判断字符串是否符合某种特征,用法如下
# 以指定字符开头
>>> 'ABC'.startswith('A')
True
# 以指定字符结尾
>>> 'ABC'.endswith('C')
True
# 是否全是字母
>>> 'ABC'.isalpha()
True
# 是否全是数字
>>> 'ABC'.isnumeric()
False
# 是否全是数字
>>> 'ABC'.isdigit()
False
# 是否全是数字字母
>>> 'ABC'.isalnum()
True
# 是否全是数字字母
>>> 'ABC'.isascii()
True
# 是否全是空白
>>> 'ABC'.isspace()
False
# 是否全是可打印字符
>>> 'ABC'.isprintable()
True
# 是否符合标题样式,首字母大写, 其他字符小写
>>> 'ABC'.istitle()
False
# 是否全是小写字符
>>> 'ABC'.islower()
False
# 是否全是大写字符
>>> 'ABC'.isupper()
True
4. 字符串对齐
将字符串用指定字符填充为等长,用法如下
# 在开头和结尾进行填充,字符串居中对齐
>>> 'ABC'.center(7, '0')
'00ABC00'
# 在开头进行填充,只可以用0填充,右对齐
>>> 'ABC'.zfill(7)
'0000ABC'
# 在末尾进行填充,左对齐
>>> 'ABC'.ljust(7, '1')
'ABC1111'
# 在开头进行填充,右对齐
>>> 'ABC'.rjust(7, '1')
'1111ABC'
5. 字符串的连接与分割
>>> 't'.join(['A', 'B', 'C'])
'AtBtC'
>>> 'AtBtC'.split("t")
['A', 'B', 'C']
相比其他数据类型,字符串的内置方法很多,由此也可以看出字符串的重要性。除了这些基础操作,还需要进一步掌握字符串的格式化,以及正则表达式,这些在后续文章中再详细介绍。