在Python中字符串是不可变变量,对其进行切片及其中的元素复制都会报错

>>> str = "This is Python">>> str[0:3] = "abc"Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: 'str' object does not support item assignment

其常用的方法:

split

用法:str.split(sep=None, maxsplit=-1)

将字符串划分为序列

>>> env = "/usr/bin/python">>> tmp_env = env.split("/")>>> tmp_env['', 'usr', 'bin', 'python']


replace

用法:str.replace(old,new[,max])

将指定子串替换为另一个子串,并返回替换后的结果,但不会改变原String的内容

>>> str = "This are Python">>> rep_str = str.replace("are","is")>>> rep_str'This is Python'>>> str'This are Python'>>> str = "This is Python,That is Great">>> rep_str = str.replace("is","was",2)>>> rep_str'Thwas was Python,That is Great'

find

用法:str.find(sub[, start[, end]])

在字符串中查找字串,若找到,则返回字串的第一个字符的索引,否则,返回-1

>>> str = "This is Python,Hello ,中国,您好">>> fd_str = str.find("is")>>> fd_str2>>> str[fd_str]'i'>>> fd_str2 = str.find("中")>>> str[fd_str2]'中'>>> str1 = "That is dog".find("G")>>> str1-1

join

用法:str.join(iterable)

合并序列的元素

>>> dirs = ['','usr','bin','python']>>> '/'.join(dirs)'/usr/bin/python'>>> num = [1,2,3,4]   #合并数字列表,报错>>> seq = '+'>>> seq.join(num)Traceback (most recent call last):  File "<stdin>", line 1, in <module>TypeError: sequence item 0: expected str instance, int found>>> str1 = ["A","B","C"]  #合并字符列表,OK>>> seq = "-">>> seq.join(str1)'A-B-C'>>> str1 = "ABCDE">>> seq = "abcde">>> seq.join(str1)'AabcdeBabcdeCabcdeDabcdeE'

strip

用法:str.strip([chars])

将字符串开头和末尾的空白(不包括中间的空白)删除,并返回结果

>>> "  Hello,World!".strip()'Hello,World!'>>> "Hello,World    ".strip()'Hello,World'>>> "  Hello,World   ".strip()'Hello,World'>>> "Hello,   World! !".strip()'Hello,   World! !'>>> "www.baidu.com".strip("com")'www.baidu.'>>> "www.baidu.com".strip(".com")'www.baidu'


center

用法:str.center(width[, fillchar])

通过在两边填充字符(默认为空格)让string居中

>>> "0123456789".center(1)'0123456789'>>> "0123456789".center(-1)'0123456789'>>> "0123456789".center(10)'0123456789'>>> "0123456789".center(11)' 0123456789'>>> "0123456789".center(11,"*")'*0123456789'>>> "0123456789".center(12,"*")'*0123456789*'>>> "0123456789".center(20,"*")'*****0123456789*****'

详细的String参数可参考官网文档:

https://docs.python.org/3.7/library/stdtypes.html?highlight=replace#str.replace