Python3之字符串(String)浅谈

日期: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

发布了26 篇原创文章 · 获赞 18 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_35844043/article/details/103365263
今日推荐