1、声明一个字符串
定义:包含在一对单引号、双引号、三引号中间的多个字符
2、Python转义字符
符号 |
描述 |
\在行尾时 |
续行符 |
\ 放在其他特定字母前 |
转义字符 |
\t |
横向制表符 |
\v |
纵向制表符 |
\n |
换行符 |
\r |
回车 |
\f |
换页 |
3、Python的字符串内建函数
在python中 dir(str)查看字符串的内建函数:去掉了带有下划线的
'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith',
'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum',
'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower','isnumeric',
'isprintable', 'isspace', 'istitle', 'isupper',
'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition',
'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit',
'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase',
'title', 'translate', 'upper', 'zfill'
整理分类:
函数 |
描述 |
结果 |
str1.capitalize() |
返回 首字母大写的字符串 |
"AbcD" |
str1.upper() |
返回 全部大写的字符串 |
"ASCD" |
str1.lower() |
返回 全部小写的字符串 |
"ascd" |
str1.swapcase |
返回 相反的字符串 |
"ABCd" |
函数 |
描述 |
结果 |
str1.istitle() |
判断是否只有首字母大写 |
False |
str1.isupper() |
判断全部字母是否为大写 |
False |
str1.islower() |
判断全部字母是否为小写 |
False |
函数 |
描述 |
结果 |
str2.ljust(4,"$") |
左对齐,第一个参数为字符串填充后的长度,第二个参数为填充的内容 |
"a$$$$" |
str2.rjust(4,"$") |
右对齐,第一个参数为字符串填充后的长度,第二个参数为填充的内容 |
"$$$$a" |
str2.center(4,"$") |
两侧对齐,第一个参数为字符串填充后的长度,第二个参数为填充的内容 |
"$$a$$" |
str2.zfill(4) |
将字符串的左侧都填0,参数为字符串填充后的长度 |
"00000a" |
函数 |
描述 |
结果 |
str3.isalnum() |
字符串是否都是由字母和数字组成 |
True/False |
str3.isdigit() |
字符串是否都是由数字组成 |
True/False |
str3.isalpha() |
字符串是否都是由字母组成 |
True/False |
str3.isdecimal() |
如果字符串是否只包含十进制字符 |
True/False |
-
字符串的拆分操作:
如:str3 = "my name is jerry"
函数 |
描述 |
结果 |
str3.split(" ",3) |
通过指定分隔符" "对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串,这里为3,默认全部,从左侧往右侧 |
['my', 'name', 'is', 'jerry'] |
str3.rsplit(" ",2) |
通过指定分隔符" "对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串,这里为2,默认全部,从右侧往左侧 |
['my name', 'is', 'jerry'] |
str3.partition("is") |
返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串,从字符串的左侧搜索分隔符 |
('my name ', 'is', ' jerry') |
str3.rpartition("is") |
返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串,从字符串的右侧搜索分隔符 |
('my name ', 'is', ' jerry') |
-
字符串的查找:
如:str4 = "asdfasdf"
函数 |
描述 |
结果 |
str4.find("s") |
str4.查找(sub[, start[, end]]])第一个参数要查找的目标元素,二三参数可写可不写,代表查找位置;查找成功返回元素第一匹配成功的下标,否则返回-1;从左往右 |
1 |
str4.rfind("s") |
str4.查找(sub[, start[, end]]])第一个参数要查找的目标元素,二、三参数可写可不写,代表查找位置;查找成功返回元素第一匹配成功的下标,否则返回-1;从右往左 |
5 |
str4.index("s") |
str4.查找(sub[, start[, end]]])第一个参数要查找的目标元素,二、三参数可写可不写,代表查找位置;查找成功返回元素第一匹配成功的下标,否则返回ValueRrror;从左往右 |
1 |
str4.rindex("s") |
str4.查找(sub[, start[, end]]])第一个参数要查找的目标元素,二、三参数可写可不写,代表查找位置;查找成功返回元素第一匹配成功的下标,否则返回-1否则返回ValueRrror;从右往左 |
5 |
str4.count("s") |
str4.查找(sub[, start[, end]]])第一个参数要查找的目标元素,二、三参数可写可不写,代表查找位置;返回元素出现的次数 |
2 |
-
字符串的替换:
如:str4 = "asdfasdf"
函数 |
描述 |
结果 |
str4.replace("a","#") |
str4.替换(旧的,新的[,计数]) |
"#sdf#sdf" |
str4.maketrans("asd", "qwe") |
str4.多元素替换(旧的,新的),两个字符串的长度必须相同,为一一对应的关系。 |
"qwefqwef" |
str.translate(table) |
bytes.translate(table[, delete]) |
table -- 翻译表,翻译表是通过maketrans() 方法转换而来。deletechars -- 字符串中要过滤的字符列表。 |
bytearray.translate(table[, delete]) |
|
translate函数:
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab) # 制作翻译表
str = "this is string example....wow!!!"
print (str.translate(trantab))
#结果:
th3s 3s str3ng 2x1mpl2....w4w!!!
#!/usr/bin/python
# 制作翻译表
bytes_tabtrans = bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz', b'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
# 转换为大写,并删除字母o
print(b'runoob'.translate(bytes_tabtrans, b'o'))
#结果
b'RUNB'