Python字符串常用函数目录:
- 1...返回-1或子字符串首次出现的下标==n==:
- 2...用某字串替换某字串,返回替换后的新串"...":
- 3...用某字串(串)分割n次,返回列表["..."...]:
- 4...在字符串的两两字符中间填充字符串,返回新串"..."
- 5...拼接两个字符串:
- 6...移除头尾指定的字符,返回新串"...":
- 7...移除头部/尾部的指定字符:
- 8...小写<==>大写:
- 9...指定总长度,字符串填充对齐:
- 10...填充大括号的操作(俗称格式化,意思就是把其他数据类型,格式化添加成为字符串的一部分):
- 11...直接填充:
- 12...指定编码、解码:
- 13...字符串[...:...]的截取操作:
- 14...字符串[...:...:...]的截取操作:
以下的【默认】的参数均可不填
提示:字符串是不可变数据类型,只能被初始化一次。
如果尝试再次初始化【赋值】,就会生成新的字符串对象!
正规字符串:“…”,可以用转义字符。
原始字符串:r“…”,转义字符无效。R大小写亦可。
Unicode编码的字符串:u“…”
1…返回-1或子字符串首次出现的下标n:
字符串.find("abc")==>字符a在【字符串】中的下标
上面的函数其实隐含两个参数:
字符串.find("abc",开始搜索的下标【默认0】,结束搜索的下标+1【默认最后下标+1】)
比如"abcd".find("c",2,3)
返回c的下标:2
附录:字符串.count(子字符串,开始,结束),返回子字符串的个数。
2…用某字串替换某字串,返回替换后的新串"…":
字符串.replace("要替换的字串","用什么去替换",替换次数【默认全部替换】)
3…用某字串(串)分割n次,返回列表["…"…]:
字符串.split("分割的符号"【默认空格分割符】,分割次数n【默认分割到底)
4…在字符串的两两字符中间填充字符串,返回新串"…"
”拿来填充的字符(串)“.join("被填充的字符串")
5…拼接两个字符串:
加号+即可
6…移除头尾指定的字符,返回新串"…":
这里需要重点说明:该函数会依次做两件事:
1、从头部依次匹配,直到遇到不匹配的字符停止,注意,匹配的单位是字符而不是字符串。
比如:
a先去匹配前3位,匹配成功,删除a;
d再去匹配前3位,匹配失败,不处理;
e再去匹配前3位,匹配失败,不处理;最终头部只删除了a
2、从尾部依次匹配,直到遇到不匹配的字符停止,注意同上。
比如:
a先去匹配后3位,匹配失败,不处理;
d再去匹配后3位,匹配成功,删除d;
e再去匹配后3位,匹配成功,删除e;最终尾部删除了de
print("abcde".strip("ade"【默认空格】))
输出:bc
7…移除头部/尾部的指定字符:
——和上面的第1件事完全相同:
注意观察,多了个【l】,代表左端【left】
print("abcde".lstrip("ade"【默认空格】))
输出:bcde
——和上面的第2件事完全相同:
注意观察,多了个【r】,代表左端【rigth】
print("abcde".rstrip("ade"【默认空格】))
输出:abc
8…小写<==>大写:
1、小写==>全部大写:
字符串.upper()
2、大写==>全部小写:
字符串.lower()
3、仅首字母大写模式:
字符串.capitalize()
4、每个单词首字母大写模式:
字符串.title()
9…指定总长度,字符串填充对齐:
1、居中对齐:
字符串.center(总长,"用来填充的字符"【默认空格】)
2、左对齐:
字符串.ljust(总长,"用来填充的字符"【默认空格】)
3、右对齐:
字符串.rjust(总长,"用来填充的字符"【默认空格】)
10…填充大括号的操作(俗称格式化,意思就是把其他数据类型,格式化添加成为字符串的一部分):
> ”世界,{};我爱,{}“.format("你好",”中国“)
最终变成新的字符串:
”世界,你好;我爱,中国“
注意,format的参数可以是变量,其他数据类型的变量亦可,不局限于字符串。
11…直接填充:
上面的函数形式写起来有些麻烦,系统提供了下面这种写法,但是只能使用变量名的形式。
>a=''你好”
>b="中国"
> f ”世界,{a};我爱,{b}“
注意,请不要直接复制这里的代码,因为有些是中文双引号。
12…指定编码、解码:
1、编码:
字符串.encode("编码")
2、解码:
字符串.decode("编码")
13…字符串[…:…]的截取操作:
1、正常情况:
注意区间:
- 冒号左边——开始切的下标
- 冒号右边——减去开始下标,得切的个数
print("shijienihao"[2:3])
注意:
————冒号左边,默认为0,即不写的时候就相当于0
————冒号右边,用来减去冒号左边的数,得出切分个数
所以:开始切分的下标为2,即第三个字符i的位置,
切分个数= 3-2=1个,所以运行结果如下:
上面的print输出:i
2、负数的情况
对于负数的情况,不能像上面一样做减法,需要建立新的理解:
- 冒号左边:和上面一样
- 冒号右边:去掉末尾多少个数
print("shijienihao"[2:-3])
开始切分下标:2,即第三个字符i
去掉末尾:-3,即去掉末尾3个数
结果:
输出:ijieni
14…字符串[…:…:…]的截取操作:
注意,这里有两个冒号,所以理论上可以有3个参数:
"shijienihao"[第一部分:第二部分:第三部分]
参数说明:
————1:正数:表示从头开始【删除】多少个字符,头删
———————负数:表示从尾开始【截取】多少个字符,尾截
————2:正数:表示从头开始【截取】多少个字符,头截
———————负数:表示从尾开始【删除】多少个字符,尾删
————3:正数:表示从头开始分为多少个组,并截取每组的头字符,组成新的字符串
———————负数:表示从尾开始分为多少个组,并截取每组的头字符,组成新的字符串
第三部分的重要说明:
1、因为分组,所以,参数不能为0,即每组必须有一个成员及以上
2、当参数为1或者-1时,表示分组为每一人一组。
———所以,当参数为1时,就像没操作一样。
———但是,参数为-1时,就能达到将整个字符串逆序的效果。