要使用多個定界符拆分字串:
使用re.split()
方法,例如re.split(r',|-', my_str)
。
re.split()
方法將拆分所有出現的分隔符號之一的字串。
import re # ????️ 用 2 个分隔符拆分字符串 my_str = 'fql,jiyik-dot,com' my_list = re.split(r',|-', my_str) # ????️ 以逗号或连字符分隔 print(my_list) # ????️ ['fql', 'jiyik', 'dot', 'com']
re.split
方法接受一個模式和一個字串,並在每次出現該模式時拆分字串。
管道 | 字元是一個或。匹配 A 或 B。
此範例使用 2 個分隔符號(逗號和連字號)拆分字串。
# ????️ 用 3 个分隔符拆分字符串 my_str = 'fql,jiyik-dot:com' my_list = re.split(r',|-|:', my_str) # ????️ comma, hyphen or colon print(my_list) # ????️ ['fql', 'jiyik', 'dot', 'com']
下面是一個使用 3 個分隔符號(逗號、連字符和冒號)拆分字串的範例。
我們可以使用盡可能多的 |
正規表示式中必要的字元。
使用方括號 [] 根據多個定界符拆分字串
或者,我們可以使用方括號 []
來指示一組字元。
import re my_str = 'fql,jiyik-dot,com' my_list = re.split(r'[,-]', my_str) print(my_list) # ????️ ['fql', 'jiyik', 'dot', 'com']
確保在方括號之間新增所有分隔符號。
import re # ????️ 用 3 个分隔符拆分字符串 my_str = 'fql,jiyik-dot:com' my_list = re.split(r'[,-:]', my_str) # 以逗号、连字符、冒号分割 print(my_list) # ????️ ['fql', 'jiyik', 'dot', 'com']
如果字串以其中一個定界符開頭或結尾,我們可能會在輸出清單中得到空字串值。
處理前導或尾隨定界符
我們可以使用清單理解從清單中刪除任何空字串。
import re # ????️ 用 3 个分隔符拆分字符串 my_str = ',fql,jiyik-dot:com:' my_list = [ item for item in re.split(r'[,-:]', my_str) if item ] print(my_list) # ????️ ['fql', 'jiyik', 'dot', 'com']
清單推導負責從清單中刪除空字串。
清單推導用於對每個元素執行某些操作或選擇滿足條件的元素子集。
另一種方法是使用 str.replace()
方法。
使用str.replace() 拆分具有多個定界符的字串
要使用多個定界符拆分字串:
-
使用
str.replace()
方法將第一個分隔符號替換為第二個分隔符號。 使用
str.split()
方法以第二個分隔符號拆分字串。
my_str = 'fql_jiyik!dot_com' my_list = my_str.replace('_', '!').split('!') print(my_list) # ????️ ['fql', 'jiyik', 'dot', 'com']
這種方法只在您想要拆分的分隔符號很少時才方便,例如2.
首先,我們用第二個分隔符號替換每個出現的第一個分隔符,然後我們拆分第二個分隔符。
str.replace
方法傳回字串的副本,其中所有出現的子字串都會被提供的替換項目取代。
此方法採用下列參數:
old 字串中我們要取代的子字串
#new 替換每次出現的old
count 只取代第一個count 出現(可選)
請注意 ,該方法不會變更原始字串。字串在 Python 中是不可變的。
這是另一個例子。
my_str = 'fql jiyik, dot # com. abc' my_list = my_str.replace( ',', '').replace( '#', '').replace('.', '').split() print(my_list) # ????️ ['fql', 'jiyik', 'dot', 'com', 'abc']
我們使用 str.replace()
方法在拆分空白字元的字串之前刪除標點符號。
我們使用空字串進行替換,因為我們要刪除指定的字元。
我們可以根據需要將盡可能多的呼叫連結到 str.replace()
方法。
最後一步是使用 str.split()
方法將字串拆分為單字清單。
str.split()
方法使用定界符將字串拆分為子字串清單。
此方法採用以下2 個參數:
separator 在每次出現分隔符號時將字串拆分為子字串
maxsplit 最多完成maxsplit 分割(可選)
當沒有分隔符號傳遞給str. split()
方法時,它會將輸入字串拆分為一個或多個空白字元。
my_str = 'fql jiyik com' print(my_str.split()) # ????️ ['fql', 'jiyik', 'com']
如果在字串中找不到分隔符,則傳回僅包含 1 個元素的清單。
使用可重複使用函數根據多個定界符拆分字串
如果我們需要經常根據多個分隔符號拆分字串,請定義一個可重複使用的函數。
import re def split_multiple(string, delimiters): pattern = '|'.join(map(re.escape, delimiters)) return re.split(pattern, string) my_str = 'fql,jiyik-dot:com' print(split_multiple(my_str, [',', '-', ':']))
split_multiple
函數接受一個字串和一個分隔符號列表,並根據分隔符號拆分字串。
str.join()
方法用於將分隔符號與管道 |
連接起來。分隔器。
# ????️ ,|-|: print('|'.join([',', '-', ':']))
這將建立一個正規表示式模式,我們可以使用該模式根據指定的分隔符號拆分字串。
如果我們需要將一個字串拆分為多個分隔符號的單字列表,我們也可以使用 re.findall()
方法。
使用re.findall() 將字串拆分為單字清單
使用re.findall()
方法將字串拆分為具有多個分隔符的單字列表。
re.findall()
方法將在每次出現單字時拆分字串,並傳回包含單字的清單。
import re # ✅ 将字符串拆分为具有多个分隔符的单词列表 my_str = 'fql jiyik, dot # com. abc' my_list = re.findall(r'[\w]+', my_str) print(my_list) # ????️ ['fql', 'jiyik', 'dot', 'com', 'abc']
re.findall
方法將一個模式和一個字串作為參數,並傳回字串列表,其中包含字串中該模式的所有非重疊匹配項。
我们传递给 re.findall()
方法的第一个参数是一个正则表达式。
import re my_str = 'fql jiyik, dot # com. abc' my_list = re.findall(r'[\w]+', my_str) print(my_list) # ????️ ['fql', 'jiyik', 'dot', 'com', 'abc']
方括号 []
用于表示一组字符。
\w
字符与 Unicode 单词字符匹配,并且包括可以作为任何语言的单词一部分的大多数字符。
加号 + 使正则表达式匹配前面字符(Unicode 字符)的 1 次或多次重复。
re.findall()
方法返回一个包含字符串中单词的列表。
以上是在Python中,如何分割一個包含多個分隔符號的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具