Python修行之路之字符串修改查找格式化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python修行之路之字符串修改查找格式化相关的知识,希望对你有一定的参考价值。
字符串修改
replace(old,new[,count]) - > str
字符串中找到匹配替换为新子串,返回新字符串
count表示替换几次,不指定就是全部替换
原字符串为一个常量,不可变。修改返回的为新子串
strip([chars]) - > str
从字符串两端去除指定字符集chaars中的所有字符
如果chars没有指定,去除两端的空白字符
空白字符、就是指看不见的字符如
空格 空白字符,空串确实为空
lstrip([chars]) - > str
从左开始
rstrip([chars]) - > str
从右开始
字符串查找
find(sub[,start[,end]]) - > int
在指定的区间[start,end),从左至右,查找子串sub。找到返回索引,没找到返回-1
顺序查找,不可能跳跃查找
rfind(sub[,start[,end]]) - > int
在指定的区间[start,end),从右至左,查找子串sub。找到返回索引,没找到返回-1
index(sub[,start[,end]]) - > int
在指定的区间[start,end),从左至右,查找子串sub.找到返回索引,没找到抛出ValueError
rindex(sub[,start,[end]]) - > int
在指定的区间[start,end),从左至右,查找子串sub.找到返回索引,没找到抛出异常ValueError
*时间复杂度
index和count方法都是O(n)
随着列表数据规模的增大,而效率下降
len(string)
返回字符串的长度,即字符的个数
count(sub[,start[,end]])-> int
在指定的区间[start,end),从左至右,统计子串sub出现的次数
字符串判断
ends with(suffix[,start[,end]]) - >bool
在指定的区间[start,end),字符串是否是suffix结尾
startswith(prefix[,start,end]]) - > bool
在指定的区间[start,end),字符串是否是prefix开头
*查找是注意定义范围,默认遍历非常耗时
字符串判断is系列
isalnum() ->bool是否是字母和数字组成
isalpha()是否是字母
isdecimal()是否只包含十进制数字
isdigit()是否全部数字(0-9)
isidentifier()是不是字母和下划线开头,其他都是字母、数字、下划线。
islower()是否都是小写
isupper()是否全部大写
isspace()是否只包含空白字符
字符串格式化
字符串的格式化是一种拼接字符串输出样式的手段,更灵活方便
join拼接只能使用分隔符,且要求被拼接的是可迭代对象
+拼接字符串还算方便,但是非字符串需要先转换为字符串才能拼接
在2.5版本之前,只能使用printf style风格的print输出
printf-style formatting,来自于c语言的print输出
格式要求
占位符:使用%和格式字符组成,例如%s、%d等
s调用str(),r会调用repr().所有对象都可以被这两个转换
占位符中还可以插入修饰字符,例如%03d表示打印3个位置,不够前面补零
format%value格式字符串和被格式的值之间使用%分隔
values只能是一个对象,或是一个和格式字符串占位符数目相等的元组,或一个字典
*不是所有数字都能精确表达,只能控制在一定范围
format函数格式字符串语法---Python鼓励使用
"{}{xxx}".format(*args,**kwargs) - > str
args是位置参数,是一个元组
kwargs是关键字参数,是一个字典
花括号表示占位符
{}表示按照顺序匹配位置参数,{n}表示取位置参数索引为n的值
{xxx}表示在关键字参数中搜索名称一致的
{{}}表示打印花括号
以上是关于Python修行之路之字符串修改查找格式化的主要内容,如果未能解决你的问题,请参考以下文章