【Python】字符串常用函数


以下的【默认】的参数均可不填

提示:字符串是不可变数据类型,只能被初始化一次。
如果尝试再次初始化【赋值】,就会生成新的字符串对象!

正规字符串:“…”,可以用转义字符。
原始字符串: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时,就能达到将整个字符串逆序的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值