字符串是不可变类型,不能原位(inplace)修改字符串,即不能直接以索引或切片形式元素赋值直接替换字符串的内容。所以,修改字符串的操作都将新产生一个新的字符串对象。
In [1]: s='abc'
In [2]: s[0]='b'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-7f020176d33f> in <module>
----> 1 s[0]='b'
TypeError: 'str' object does not support item assignment
一、字符串.partition方法根据指定分隔符将字符串分割为三元组
partition() 方法用来根据指定的分隔符将字符串进行分割。
如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
格式:str.partition(sep)
In [7]: title = '1.3'
In [8]: title.partition('.')
Out[8]: ('1', '.', '3')
In [9]: title
Out[9]: '1.3'
二、字符串.replace方法将把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次
格式:str.replace(old, new[, max])
In [9]: title
Out[9]: '1.3'
In [10]: title.replace('.',':')
Out[10]: '1:3'
In [11]: title
Out[11]: '1.3'
三、字符串.upper方法、lower方法将字符串字符全部改写为大写或者小写
格式:str.upper() 或str.lower()
In [13]: title='Abc'
In [14]: title.upper()
Out[14]: 'ABC'
In [15]: title.lower()
Out[15]: 'abc'
In [16]: title
Out[16]: 'Abc'
四、字符串.strip方法移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
格式:str.strip(substr)
In [17]: title="-a-b-c-"
In [18]: title.strip('-')
Out[18]: 'a-b-c'
In [19]: title
Out[19]: '-a-b-c-'
In [23]: title=" a-b-c "
In [24]: title.strip()
Out[24]: 'a-b-c'
五、字符串.isnumeric方法检测字符串所有元素是否都为数字
In [25]: title='1a1'
In [26]: title.isnumeric()
Out[26]: False
In [28]: title='123'
In [29]: title.isnumeric()
Out[29]: True
字符串的切片标记法中,所有字符的索引 i 都在 start≤i<end 范围内,即切片范围是左闭右开或者说右半开空间。闭区间是指端点包含在内,开区间是指端点不包括在内。