Python3.6字符串方法
| 序号 | 方法名 | 解释 | 运行 | 结果 |
|---|---|---|---|---|
| 1 | capitalize() |
将字符串的第一个字符转换为大写 | ‘abc’.capitalize() | ‘Abc’ |
| 2 | casefold() |
将字符变成小写,但是可以处理非ASCII码,如将ß变成ss,这个是lower()做不到的 |
‘abcdßef’.casefold() | ‘abcdssef’ |
| 3 | center(width[, fillchar]) |
返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。 | ‘abc’.center(8,’-‘) | ‘–abc—‘ |
| 4 | count(sub[, start[, end]]) |
返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数 | ‘aaa’.count(‘a’) | 3 |
| 5 | encode(encoding=”utf-8”, errors=”strict”) |
以encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’ | ‘abc帅帅abc’.encode(encoding=’utf-8’,errors=’igonre’) | b’abc\xe5\xb8\x85\xe5\xb8\x85abc’ |
| 6 | bytes.decode(encoding=”utf-8”, errors=”strict”) |
Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。 | st = ‘abc帅帅abc’.encode(encoding=’utf-8’,errors=’igonre’) st.decode(encoding=’utf-8’) | ‘abc帅帅abc’ |
| 7 | endswith(suffix[, start[, end]]) |
检查字符串是否以 suffix 结束,如果start 或者 end 指定则检查指定的范围内是否以 suffix 结束,如果是,返回 True,否则返回 False | ‘abc’.endswith(‘c’) | True |
| 8 | expandtabs(tabsize=8) |
把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 | ‘\tabc’.expandtabs() | ‘ abc’ |
| 9 | find(sub[, start[, end]]) |
检测 str 是否包含在字符串中 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1 | ‘abc’.find(‘a’) | 0 |
| 10 | format(*args,**kwargs) |
字符串格式化,使用时字符串中需要包含{} |
‘帅帅 {}’.format(‘Python’) | ‘帅帅 Python’ |
| 11 | format_map(mapping) |
类似 str.format(*args, **kwargs) ,不同的是 mapping 是一个字典对象 | ‘My name is {name},i am {age} old’.format_map({‘name’:’付帅帅’, ‘age’:18}) | ‘My name is 付帅帅,i am 18 old’ |
| 12 | index(sub[, start[, end]]) |
跟find()方法一样,只不过如果str不在字符串中会报一个异常 | ‘hello word!’.index(‘word’) | 6 |
| 13 | isalnum() |
如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False | ‘123a12’.isalnum() | True |
| 14 | isalpha() |
如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False | ‘abcd’.isalpha() | True |
| 15 | isdecimal() |
检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false | ‘12312’.isdecimal() | True |
| 16 | isdigit() |
如果字符串只包含数字则返回 True 否则返回 False.. | ‘123’.isdigit() | True |
| 17 | isidentifier() |
判断字符串是否可为合法的标识符 | ‘dobi 123’.isidentifier() | False |
| 18 | islower() |
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False | ‘Ab’.islower() | False |
| 19 | isnumeric() |
如果字符串中只包含数字字符,则返回 True,否则返回 False | ‘Sjd2’.isnumeric() | False |
| 20 | isprintable() |
判断字符串的所有字符都是可打印字符或字符串为空 | ‘handsomeFu 123’.isprintable() | True |
| 21 | isspace() |
如果字符串中只包含空格,则返回 True,否则返回 False. | ‘ ‘.isspace() | True |
| 22 | istitle() |
如果字符串是标题化的(见 title())则返回 True,否则返回 False | ‘handsomeFu Blog’.istitle() | False |
| 23 | isupper() |
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False | ‘handsomeFu’.isupper() | False |
| 24 | join(iterable) |
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 | ‘-‘.join([‘2012’, ‘3’, ‘12’]) | ‘2012-3-12’ |
| 25 | ljust(width[, fillchar]) |
返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格 | ‘handsomeFu’.ljust(9, ‘^’) | ‘handsomeFu^^’ |
| 26 | lower() |
转换字符串中所有大写字符为小写. | ‘ABcdEf’.lower() | ‘abcdef’ |
| 27 | lstrip([chars]) |
截掉字符串左边的空格 | ‘ handsomeFu’.lstrip() | ‘handsomeFu’ |
| 28 | maketrans(x[, y[, z]]) |
创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标 | str.maketrans(‘abce’, ‘1234’) | {97: 49, 98: 50, 99: 51, 101: 52} |
| 29 | partition(sep) |
用指定的分隔字符串(参数sep)来分隔原字符串,返回一个包含三个元素的元组。 如是指定的分隔字符串(参数sep)在原字符串中存在,则返中的元组中前后两个元素分别为被分隔开的原字符串(不包括分隔字符串),中间元素为分隔字符中。 | ‘handsome0219’.partition(‘h’) | (‘’, ‘h’, ‘andsome0219’) |
| 30 | replace(old, new[, max]) |
把将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次 | ‘dog wow wow jiao’.replace(‘wow’, ‘wang’, 2) | ‘dog wang wang jiao’ |
| 31 | rfind(sub[, start[, end]]) |
类似于 find()函数,不过是从右边开始查找 | ‘outer protective covering’.rfind(‘er’, 20, 21) | -1 |
| 32 | rindex(sub[, start[, end]]) |
方法返回子字符串最后一次出现在字符串中的索引位置,该方法与[ rfind()] 方法一样,只不过如果子字符串不在字符串中会报一个异常。 | ‘love python love python!’.rindex(‘python’) | 17 |
| 33 | rjust(width[, fillchar]) |
返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串 | “this is string example….wow!!!”.rjust(50, ‘*’) | ‘**this is string example….wow!!!’ |
| 34 | rpartition(sep) |
从后往前查找,返回包含字符串中分隔符之前、分隔符、分隔符之后的子字符串的tuple;如果没找到分隔符,返回字符串和两个空字符串 | “handsomeFu is very handsome”.rpartition(‘o’) | (‘handsomeFu is very hands’, ‘o’, ‘me’) |
| 35 | rsplit(sep=None, maxsplit=-1) |
通过指定分隔符对字符串进行分割并返回一个列表,默认分隔符为所有空字符,包括空格、换行(\n)、制表符(\t)等。类似于 [split()] 方法,只不过是从字符串最后面开始分割。 | “this is a ipython3”.rsplit(‘i’,1) | [‘this is a ‘, ‘python3’] |
| 36 | rstrip([chars]) |
删除字符串字符串末尾的空格 | “this is handsomeFu “ .rstrip() “this is handsomeFu111”.rstrip(“1”) | “this is handsomeFu” “this is handsomeFu” |
| 37 | split(sep=None, maxsplit=-1) |
num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串 | ‘123423664234’ .split(‘2’) | [ ‘1’, ‘34’ , ‘3664’, ‘34’] |
splitlines([keepends]) |
按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。 | ‘ab c\n\nde fg\rkl\r\n’.splitlines(); | [‘ab c’, ‘’, ‘de fg’, ‘kl’] | |
| 39 | startswith(prefix[, start[, end]]) |
检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查 | ‘mynameis’.startswith(‘na’,2,7) | True |
strip([chars]) |
在字符串上执行 lstrip()和 rstrip() | ‘ abc ‘.strip() | ‘abc’ | |
| 41 | swapcase() |
将字符串中大写转换为小写,小写转换为大写 | “this is handsomeFu”.swapcase() | THIS IS handsomeFu |
| 42 | title() |
返回”标题化”的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle()) | ‘this is handsomeFu’.title() | ‘This Is handsomeFu’ |
| 43 | translate(table) |
根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中 | ma = str.maketrans(‘abce’, ‘1234’) st = ‘abcdefgabcd’ st.translate(ma) | ‘123d4fg123d’ |
| 44 | upper() |
转换字符串中的小写字母为大写 | “python”.upper() | PYTHON |
| 45 | zfill(width) |
返回长度为 width 的字符串,原字符串右对齐,前面填充0 | ‘handsomeFu’.zfill(12) | ‘00handsomeFu’ |