日期:2019年12月8日
作者:Commas
注释:学习就是为了忘记,让我们来总结一下Python3字符串的切片和字符串方法。
如果您想了解更多有关Python的知识,那么请点【我】
《我的Python浅谈系列目录》
一、字符串的切片
(i)定义:从一个大字符串切出一个小的字符串。
(ii)语法:string[start_index,end_index,step]
new_string = "python"
new_string[0] # p
new_string[1] # y
new_string[0:4] # pyth
new_string[0:] # python
new_string[0:5:2] # pto
new_string[-1] # n
new_string[0:-1] # pytho
new_string[-6:-1] # pytho
new_string[-6:] # python
二、字符串的方法
获取“字典方法”的方法如下:
Python语句:print(dir(""))
控制台输出:
[‘add’, ‘class’, ‘contains’, ‘delattr’, ‘dir’, ‘doc’, ‘eq’, ‘format’, ‘ge’, ‘getattribute’, ‘getitem’, ‘getnewargs’, ‘gt’, ‘hash’, ‘init’, ‘init_subclass’, ‘iter’, ‘le’, ‘len’, ‘lt’, ‘mod’, ‘mul’, ‘ne’, ‘new’, ‘reduce’, ‘reduce_ex’, ‘repr’, ‘rmod’, ‘rmul’, ‘setattr’, ‘sizeof’, ‘str’, ‘subclasshook’, ‘capitalize’, ‘casefold’, ‘center’, ‘count’, ‘encode’, ‘endswith’, ‘expandtabs’, ‘find’, ‘format’, ‘format_map’, ‘index’, ‘isalnum’, ‘isalpha’, ‘isascii’, ‘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’]
(1)判断类型
方法 | 说明 |
---|---|
isalnum | 若 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False |
isalpha | 若 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False |
isascii | 若 string 的编码是ASCII或者空字符串,则返回True,否者返回False |
isdecimal | 若 string 只包含十进制数字则返回 True ,否则返回 False |
isdigit | 若 string 只包含数字则返回 True,否则返回 False |
isidentifier | 若 string是有效的Python标识符,则返回Ture,否则返回False |
islower | 若 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False |
isnumeric | 若 string 中只包含数字字符,则返回 True,否则返回 False |
isprintable | 若 string中所有的字符都是可以打印的字符或则空字符串,则返回True,否则返回False |
isspace | 若 string 中只包含空格,则返回 True,否则返回 False |
istitle | 若 string 中所有的单词首字母大写,其余字母小写,那么返回 True,否则返回 False |
isupper | 若 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False |
(2)查找和替换
方法 | 说明 |
---|---|
startswith(prefix[, start[, end]]) | 检查 string 是否是以 prefix 开头,是则返回 True,否则返回 False。若 start 和 end 指定值,则在指定范围内检查 |
endswith(suffix[, start[, end]]) | 检查 string 是否以 suffix 结束,是则返回 True,否则返回 False。若 start 和 end 指定值,则在指定范围内检查 |
find(sub[, start[, end]]) | 检测 string 中是否包含 sub,若是返回开始的索引值,否则返回-1。若 start 和 end 指定范围,则检查是否包含在指定范围内 |
rfind(sub[, start[, end]]) | 类似于find()方法,但是是从右边开始查找,若找到,则返回的值是正索引值,否则返回-1. |
index(sub[, start[, end]]) | 类似find()方法,不过 string 中不包含 sub,会抛出ValueError异常 |
rindex(sub[, start[, end]]) | 类似rfind()方法,不过 string 中不包含 sub,会抛出ValueError异常 |
replace(old,new,count) | 把 string 中的 old 替换成 new,若指定 count 值,则从左往右替换过程中,替换次数不得大于 count 次 |
(3)大小写转换
方法 | 说明 |
---|---|
capitalize | 返回一个首个字符大写的字符串副本 |
title | 返回一个标题化的字符串副本。把每个单词首字母大写,其余均小写 |
lower | 返回一个全部小写的字符串的副本 |
upper | 返回一个全部大写的字符串的副本 |
swapcase | 返回一个大写变小写,且小写变大写的字符串副本 |
(4)文本对齐
方法 | 说明 |
---|---|
ljust(width[, fillchar]) | 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,其中fillchar默认为一个空格 |
rjust(width[, fillchar]) | 返回一个原字符串右对齐,并使用 fillchar 填充至长度 width 的新字符串,其中fillchar默认为一个空格 |
center(width[, fillchar]) | 返回一个原字符串居中,并使用 fillchar 填充至长度 width 的新字符串,其中fillchar默认为一个空格 |
(5)去空白字符
方法 | 说明 |
---|---|
lstrip | 返回一个截掉 string 左边空格的新字符串 |
rstrip | 返回一个截掉 string 右边空格的新字符串 |
strip | 返回一个截掉 string 左右两边空格的新字符串 |
(6)拆分与连接
方法 | 说明 |
---|---|
split(seq,maxsplit) | 将 string 按指定的分隔符 seq 进行切片,并返回一个列表。若 maxsplit 有指定值,则切片次数限制为 maxsplit,否则没有限制。 |
rsplit(seq,maxsplit) | 类似split()方法,不过是从右边开始,将 string 按指定的分隔符 seq 进行切片,并返回一个列表。若 maxsplit 有指定值,则切片次数限制为 maxsplit,否则没有限制,结果将会和split()方法返回值一样。 |
splitlines(keepends) | 将 string 按指定的分隔符\r、\n或者\r\n进行切片,并返回一个列表。若 keepends 为 True,则列表元素包含分割符,否则列表元素中不包含分隔符,默认值为 False |
partition(seq) | 将 string 按指定的分隔符 seq 进行进行切片,并返回一个三元的元祖,第一个是分隔符左边的子串,第二个是分隔符本身 seq,第三个是分隔符右边的子串 |
rpartition | 类似partition()方法,不过是从右边开始,将 string 按指定的分隔符 seq 进行进行切片,并返回一个三元的元祖,第一个是分隔符左边的子串,第二个是分隔符本身 seq,第三个是分隔符右边的子串 |
join(iterable) | 将 iterable 中的每个元素用 string 间隔连接成一个新的字符串并返回。如"-".join([‘a’, ‘b’, ‘c’]),返回一个新的字符串“a-b-c” |
(7)其它方法
方法 | 说明 |
---|---|
count(sub[, start[,end]]) | 返回 string 中有多少个 sub。若 start 和 end 指定值,则在指定范围内检查 |
format(*args,**kwargs) | 字符串格式化,详情请《Python3之字符串格式化浅谈》 |
format_map(mapping) | 针对字典类型的字符串格式化,其中mapping是字典。 |
encode(encoding[,errors]) | 对 string 进行 encoding 编码,并返回编码后的字符串 |
zfill(width) | 按 width 宽度返回新的字符串。若width>len(string),则在左边填充0字符串,否则返回原字符串。如"123".zfill(4),返回值一个新字符串"0123" |
expandtabs(tablesize=8) | 将 string 中的制表符\t转为8个空格,若 tablesize 指定值,则转换为指定值个数的空格,并返回转换后的新字符串 |
maketrans(old_char,new_char) | 返回可用于str.translate()的转换表 |
translate(table) | 使用给定的转换表 table 替换 string 中的每个字符,并返回替换后的新字符串 |
casefold | 和lower()方法类似,不过是对其他语言(非汉语英语)转换为小写后,并返回生成的字符串。 |
本文参考:
1、https://www.runoob.com/python/python-strings.html
版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/103365263