分析
在Python中,字符串是不可變的。所以無法直接刪除字符串之間的特定字符。
所以想對字符串中字符進行操作的時候,需要將字符串轉變爲列表,列表是可變的,這樣就可以實現對字符串中特定字符的操作。
1、刪除特定字符
特定字符的刪除,思路跟插入字符
類似。
可以分爲兩類,刪除特定位置的字符
或者 刪除指定字符
。
1.1、刪除特定位置的字符
使用.pop()
方法。輸入參數,即爲要刪除的索引。
string = '公衆號:土堆碎念'
list_str = list(string)
list_str.pop(1)
list_str = ''.join(list_str)
print(list_str)
輸出:
1.2、刪除指定字符
刪除指定字符與刪除特定位置的區別是:刪除指定字符,需要提供指定的字符,和需要刪除的最大數目。而刪除特定位置的字符,只需要提供刪除字符的索引即可。
1.3、兩種實現
刪除的實現,除了像pop
方法那種,彈出特定字符的刪除,也可以用空字符來替換特定的字符,來實現刪除。
.replace()方法
replace(…) method of builtins.str instance
S.replace(old, new[, count]) -> str
比如,字符串a='公衆號公衆號:土堆碎念'
,嘗試將其中的公
字符刪除,將公
字符替換成空字符。
注意,它返回的是替換後(在這種情況下,是刪除字符)的字符,沒有改變原始字符串,也就是說,a還是原來那個a。所以如果想使用替換後的字符,需要指定一個變量進行賦值。
眼尖的你,發現還有一個可選參數,count
。
count
參數就可以指定要替換幾個。我們無意中知道了如何刪除指定數目的字符。
正則表達式
除了使用Python
標準庫中的方法,還可以使用re
正則表達式庫,來實現。
使用re.sub()
方法,這個方法的功能更強大,可以替換特定模式的字符。
因爲模式匹配比較麻煩,所以比較強大。
sub(pattern, repl, string, count=0, flags=0)
pattern
代表指定的模式,這是強大的原因,如果簡單點使用,只指定特定字符,就可以用'特定字符'
來表示模式。
repl
代表的是,需要替換成的字符,如果刪除,就是替換成空字符。
string
代表的是,需要被替換的字符串。
count
是替換的次數。
總結
- 無論是Python字符串自帶的
.replace()
方法,還是re
提供的.sub()
方法,都是不改變原來的字符串,返回值纔是替換的字符串。所以,如果要使用替換的字符串,就需要將返回值賦值給一個變量。 - 這兩種方法,默認都是替換所有的指定字符。
教程中的Costco,只給你各領域更好的教程,不再爲挑選教程而鬧心。
一定要關注哦,以後一秒找教程!!!