Python字符串中刪除特定字符

分析

在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,只給你各領域更好的教程,不再爲挑選教程而鬧心。
一定要關注哦,以後一秒找教程!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章