ericxieforever 2019-09-07
修改字符串本身是不可能的,因为字符串是不可变类型,只能是通过某些方法来产生它的副本。再把副本赋值给原字符串,达到类似替换的作用。这里介绍几种方法。
旧串换新串:使用str.replace(old, new, max)
1)字符串调用此函数时,将生成一个字符串的副本。副本中new将替代old。
2)old -原来的子串。
3)new-新子串,用于替换old。
4)max-最大替换个数,(可以不指定,为全部替换)
在指定max时,如果超出了old子串的个数,也是全部替换。
1、分割后筛选再连接:
分割字符串:str.split(sep=None, maxsplit=-1)
1)字符串调用split函数返回一个由分开的子串组成的列表。
2)sep 来指定分隔符,如果不指定仍然返回一个列表。
3)分隔符可以是多个字符。
指定的分隔符应是包含在字符串中,分割后,分隔符消失。
(注如果分割后在字符串内,等同于sep=None)
maxsplit,用来指定分割次数,所以列表最多会有 maxsplit+1 个元素。
如果 maxsplit 未指定或为 -1,则不限制拆分次数,进行所有可能的拆分。
4、连续的分隔符不会被组合在一起而是被视为分隔空字符串 。
字符串连接:str.join(iterable)
参数terable是个可迭代的对象,它的元素必须都是字符串(例如:一个列表中全部是字符串元素。)
一个字符串调用join函数,将返回一个有这些元素组成的大字符串。
调用者将作为元素之间的分隔符。(调用者可以是空,空格,或其他任意字符串)
split函数和join函数配合使用,达到筛选和替换的目的。