'
或
"
)来创建字符串。
Python不支持单字符类型,单字符也是作为一个字符串使用。
三引号可以可创建复杂字符串:
判断字符串是否为空(s为None或空串``):if not s:
或通过len(s)
获取字符串长度,判断是否为0(此时要保证s不为None,s)。
注:python中会把None、False、0、空串"", 空列表[], 空字典{}, 空元组()
作为假
访问子字符串,可使用方括号[]
来截取切片,字符串的截取的语法格式如下(a设为"Runoob"):
a[1:] <=> a[-5:]
= ‘unoob’a[:1] <=> a[:-5]
= ‘R’以下表格中为常用的运算符(a设为"Hello",b设为"Python")
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | a + b 输出: HelloPython |
* | 重复输出字符串 | a*2 输出:HelloHello |
[] | 索引获取字符 | a[1] 输出:e |
[start:stop] | 截取字符串中的一部分([start,stop) ) | a[1:4] 结果: ell |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | ‘H’ in a 输出结果 True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | ‘M’ not in a 输出结果 True |
r/R | 原始字符串 - 所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 | print( r’\n’ ) print( R’\n’ ) |
字符串可编码为字节数组:s.encode(encoding='UTF-8', errors='strict')
;在需要时使用bytes.decode()来解码为字符串。
通过s.expandtabs(tabsize=8)
,可把字符串中的tab转换为空格。
判断字符串中字符内容分类:
方法 | 描述 |
---|---|
isalnum() | 所有字符都是字母或数字,则返回 True |
isalpha() | 所有字符都是字母,则返回 True |
isdecimal() | 所有字符都是十进制数,则返回 True |
isdigit() | 所有字符都是数字,则返回 True |
isidentifier() | 如果字符串是标识符,则返回 True |
islower() | 所有字符都是小写,则返回 True |
isnumeric() | 所有字符都是数,则返回 True |
isprintable() | 所有字符都是可打印的,则返回 True |
isspace() | 所有字符都是空白字符,则返回 True |
istitle() | 如果字符串遵循标题规则,则返回 True |
isupper() | 所有字符都是大写,则返回 True |
a in b
判断b是否包含a(in实际使用的是对象内的__contains__
方法)
查找是否包含指定的文本内容:
方法 | 描述 |
---|---|
count(s, beg=0,end=len(str)) | 返回s在字符串中出现的次数 |
startswith(s) | 如果以s开头,则返回 true |
endswith(s, beg=0,end=len(str)) | 如果字符串以s结尾,则返回 true |
find(s, beg=0,end=len(str)) | 返回字符串中s开始的索引值,若未找到返回-1 |
index(s, beg=0,end=len(str)) | 与find类似,但为找到抛出异常 |
replace(old, new[,max]) | 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次 |
rfind() | 与find类似,但返回最后一个匹配 |
rindex() | 与index类似,但返回最后一个匹配 |
max(s) | 返回s中最大的字符 |
min(s) | 返回s中最小的字符 |
大小写转换
方法 | 描述 |
---|---|
capitalize() | 把字符串的第一个字符转换为大写 |
title() | 把每个单词的首字符转换为大写 |
lower() | 把字符串转换为小写 |
upper() | 把字符串转换为大写 |
swapcase() | 切换大小写 |
casefold() | 把字符串转换为小写与lower相比可转换除ASCII外的其他语言(如德语等) |
对齐字符串文本:
方法 | 描述 |
---|---|
center(width[,fillchar]) | 返回居中的字符串(两边用fillchar填充,默认空格) |
ljust(width[,fillchar]) | 返回字符串的左对齐版本 |
rjust(width[,fillchar]) | 返回字符串的右对齐版本 |
zfill(width) | 返回长度为width字符串(头部填充0) |
移除空白或指定字符
方法 | 描述 |
---|---|
lstrip() | 截掉字符串左边的空格或指定字符 |
rstrip() | 删除尾部空格(或指定字符) |
strip() | 头尾同时删除 |
常用内建函数如下:
方法 | 描述 |
---|---|
s.join(seq) | 以s为分隔符,把seq串联成一个字符串 |
rsplit() | 从尾部开始分割(未指定max是与split相同) |
split(str=“”,num=string.count(str)) | 以str为分隔符拆分字符串,若指定num则最多返回num+1个子串 |
splitlines([keepends]) | 按行拆分字符串并返回列表(若keepends为False,则子串不包括换行符;否则包括) |
Python3.4+,使用内建函数 bytearray.maketrans()、bytes.maketrans()、str.maketrans()来创建映射表。
str.maketrans(x[, y[, z]) 返回一个可供 str.translate() 使用的转换对照表
s.partition(sub)
方法用来根据指定的分隔符将字符串进行分割:搜索字符串sub,并返回包含三个元素的元组:
rpartition() 方法类似于 partition() 方法,只是该方法是从目标字符串的尾部开始搜索分割符: