如何使用 Python 正則表示式根據多個分隔符拆分字串?
包含字元集合的類稱為正則表示式類。我們將使用這些類之一,即 d,它匹配任何十進位制數字。學習如何拆分資料可能很有價值。資料以各種型別和大小出現,並且有時不像我們希望的那樣乾淨。您經常希望根據多個分隔符拆分字串,以便更容易處理。內建的 正則表示式 庫 re 是拆分字串的最簡單方法。
該庫具有 a.split() 函式,其工作方式與上述示例類似。這種方法之所以引人注目,是因為它允許您使用正則表示式來拆分我們的字串。
使用語法
split() − 將字串拆分為一個列表,其中每個單詞都是列表項 −
string.split(separator, maxsplit)
分隔符 − 可選。指定在拆分字串時使用的分隔符。預設情況下,任何空格都是分隔符。
maxsplit − 可選。指定要執行多少次拆分。預設值為 -1,表示“所有出現”。
注意 − 如果在模式中使用了捕獲括號,則模式中所有組的文字也將作為結果列表的一部分返回。
返回值 − 它根據正則表示式模式分割目標文字並返回匹配項列表。
演算法
- 要使用多個分隔符拆分字串
- 匯入 re 模組。
- 使用 re.split() 方法,例如 re.split(r',|-', my_str_2)。
- re.split() 方法將在分隔符之一的所有出現位置拆分字串。
示例 1
import re #split string with 2 delimiters my_str = 'one,two-three,four' my_list = re.split(r',|-', my_str) # split on comma or hyphen print(my_list)
輸出
['one', 'two', 'three', 'four']
程式碼解釋
將模式和字串提供給 re.split 函式,該函式在模式的每次出現時拆分字串。
管道符號 | 表示 OR。在 A 和 B 中進行選擇。在第一個示例中,逗號和連字元用作字串分隔符。第二個示例使用逗號、連字元和冒號作為分隔符來拆分字串。在您的正則表示式中,您可以自由使用任意數量的 | 字元。或者,您可以使用方括號 [] 來表示一組字元。
示例 2
#split string with 3 delimiters import re my_str_2 = 'one,two-three:four' my_list_2 = re.split(r',|-|:', my_str_2) #comma, hyphen or colon print(my_list_2)
輸出
['one', 'two', 'three', 'four']
程式碼解釋
將模式和字串提供給 re.split 函式,該函式在模式的每次出現時拆分字串。
管道符號 | 表示 OR。在 A 和 B 中進行選擇。第一個示例使用逗號和連字元作為字串分隔符。第二個示例使用逗號、連字元和冒號作為分隔符來拆分字串。在您的正則表示式中,您可以自由使用任意數量的 | 字元。或者,您可以使用方括號 [] 來表示一組字元。
另一種方法是使用 str.replace() 方法
Python 語言中內建的 replace() 方法返回字串的副本,其中一個子字串的所有例項都已替換為另一個子字串。一個名為字串 split() 的內建 Python 方法將字串拆分為列表。
要使用多個分隔符拆分字串 −
- 使用 str.replace() 方法將第一個分隔符替換為第二個分隔符。
- 使用 str.split() 方法根據第二個分隔符拆分字串。
示例 1
#importing re import re #storing the string in my_str_2 my_str_2 = 'one_two!three_four' my_list = my_str_2.replace('_', '!').split('!') #printing my_list by replacing it with multiple delimiters print(my_list)
輸出
['one', 'two', 'three', 'four']
程式碼解釋
從正則表示式模組匯入 re。將字串儲存在名為 my_str_2 的變數中。使用 replace 方法將第一個分隔符替換為第二個分隔符以替換字串。使用 split 方法根據第二個分隔符拆分字串。列印 my_list 以獲得所需的結果。
首先,我們將第一個分隔符的所有出現都替換為第二個分隔符,然後根據第二個分隔符進行拆分。str.replace 方法返回字串的副本,其中所有出現的子字串都替換為提供的替換。
示例 2
此外,您可以選擇完全避免使用 re 模組。如果您覺得更舒服,也可以在沒有模組的情況下完成此操作,因為該模組可能有點令人生畏。
下面的示例演示瞭如何透過首先更改值來拆分具有多個分隔符的 Python 字串。我們將使用我們新建立的字串來替換所有現有的分隔符,使其成為單個統一的分隔符。讓我們看看這個 −
#importing re import re #storing the string in my_str_2 sample_string = 'Hey! thanks for visiting, Tutorialspoint!' new_string = sample_string.replace('!', ',').replace(';', ',') split_string = new_string.split(',') #printing my_list by replacing it with multiple delimiters print(split_string)
輸出
['Hey', ' thanks for visiting', ' Tutorialspoint', '']
結論
內建的正則表示式庫 re 是拆分字串的最簡單方法。該庫具有 a.split() 函式,其工作方式與上述示例類似。這種方法之所以引人注目,是因為它允許您使用正則表示式來拆分我們的字串。本文教您如何使用多個分隔符來拆分 Python 字串。為此,使用了內建的 .split() 方法和內建的正則表示式 re 的 .split() 函式。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP