欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中拆分具有多個(gè)分隔符的字符串方法實(shí)例

 更新時(shí)間:2023年04月28日 14:41:29   作者:跡憶客  
str.split()是Python中字符串類(lèi)型的一個(gè)方法,可以用來(lái)將字符串按照指定的分隔符分割成多個(gè)子字符串,這篇文章主要給大家介紹了關(guān)于Python中拆分具有多個(gè)分隔符的字符串的相關(guān)資料,需要的朋友可以參考下

要使用多個(gè)定界符拆分字符串:

使用 re.split() 方法,例如 re.split(r',|-', my_str)。

re.split() 方法將拆分所有出現(xiàn)的分隔符之一的字符串。

import re
# ??? 用 2 個(gè)分隔符拆分字符串
my_str = 'fql,jiyik-dot,com'
my_list = re.split(r',|-', my_str)  # ??? 以逗號(hào)或連字符分隔
print(my_list)  # ??? ['fql', 'jiyik', 'dot', 'com']

re.split 方法接受一個(gè)模式和一個(gè)字符串,并在每次出現(xiàn)該模式時(shí)拆分字符串。

管道 | 字符是一個(gè)或。 匹配 A 或 B。

該示例使用 2 個(gè)分隔符(逗號(hào)和連字符)拆分字符串。

# ??? 用 3 個(gè)分隔符拆分字符串
my_str = 'fql,jiyik-dot:com'
my_list = re.split(r',|-|:', my_str)  # ??? comma, hyphen or colon
print(my_list)  # ??? ['fql', 'jiyik', 'dot', 'com']

下面是一個(gè)使用 3 個(gè)分隔符(逗號(hào)、連字符和冒號(hào))拆分字符串的示例。

我們可以使用盡可能多的 | 正則表達(dá)式中必要的字符。

使用方括號(hào) [] 根據(jù)多個(gè)定界符拆分字符串

或者,我們可以使用方括號(hào) [] 來(lái)指示一組字符。

import re
my_str = 'fql,jiyik-dot,com'
my_list = re.split(r'[,-]', my_str)
print(my_list)  # ??? ['fql', 'jiyik', 'dot', 'com']

Python 中以逗號(hào)和連字符分隔

確保在方括號(hào)之間添加所有分隔符。

import re
# ??? 用 3 個(gè)分隔符拆分字符串
my_str = 'fql,jiyik-dot:com'
my_list = re.split(r'[,-:]', my_str) # 以逗號(hào)、連字符、冒號(hào)分割
print(my_list)  # ??? ['fql', 'jiyik', 'dot', 'com']

如果字符串以其中一個(gè)定界符開(kāi)頭或結(jié)尾,我們可能會(huì)在輸出列表中得到空字符串值。

處理前導(dǎo)或尾隨定界符

我們可以使用列表理解從列表中刪除任何空字符串。

import re

# ??? 用 3 個(gè)分隔符拆分字符串
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']

列表推導(dǎo)負(fù)責(zé)從列表中刪除空字符串。

列表推導(dǎo)用于對(duì)每個(gè)元素執(zhí)行某些操作或選擇滿(mǎn)足條件的元素子集。

另一種方法是使用 str.replace() 方法。

使用 str.replace() 拆分具有多個(gè)定界符的字符串

要使用多個(gè)定界符拆分字符串:

  • 使用 str.replace() 方法將第一個(gè)分隔符替換為第二個(gè)分隔符。
  • 使用 str.split() 方法按第二個(gè)分隔符拆分字符串。
my_str = 'fql_jiyik!dot_com'
my_list = my_str.replace('_', '!').split('!')
print(my_list)  # ??? ['fql', 'jiyik', 'dot', 'com']

這種方法僅在您想要拆分的分隔符很少時(shí)才方便,例如 2.

首先,我們用第二個(gè)分隔符替換每個(gè)出現(xiàn)的第一個(gè)分隔符,然后我們拆分第二個(gè)分隔符。

str.replace 方法返回字符串的副本,其中所有出現(xiàn)的子字符串都被提供的替換項(xiàng)替換。

該方法采用以下參數(shù):

  • old 字符串中我們要替換的子串
  • new 替換每次出現(xiàn)的 old
  • count 僅替換第一個(gè) count 出現(xiàn)(可選)

請(qǐng)注意 ,該方法不會(huì)更改原始字符串。 字符串在 Python 中是不可變的。

這是另一個(gè)例子。

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() 方法在拆分空白字符的字符串之前刪除標(biāo)點(diǎn)符號(hào)。

我們使用空字符串進(jìn)行替換,因?yàn)槲覀円獎(jiǎng)h除指定的字符。

我們可以根據(jù)需要將盡可能多的調(diào)用鏈接到 str.replace() 方法。

最后一步是使用 str.split() 方法將字符串拆分為單詞列表。

str.split() 方法使用定界符將字符串拆分為子字符串列表。

該方法采用以下 2 個(gè)參數(shù):

  • separator 在每次出現(xiàn)分隔符時(shí)將字符串拆分為子字符串
  • maxsplit 最多完成 maxsplit 拆分(可選)

當(dāng)沒(méi)有分隔符傳遞給 str.split() 方法時(shí),它會(huì)將輸入字符串拆分為一個(gè)或多個(gè)空白字符。

my_str = 'fql jiyik com'
print(my_str.split())  # ??? ['fql', 'jiyik', 'com']

如果在字符串中找不到分隔符,則返回僅包含 1 個(gè)元素的列表。

使用可重用函數(shù)根據(jù)多個(gè)定界符拆分字符串

如果我們需要經(jīng)常根據(jù)多個(gè)分隔符拆分字符串,請(qǐng)定義一個(gè)可重用的函數(shù)。

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 函數(shù)接受一個(gè)字符串和一個(gè)分隔符列表,并根據(jù)分隔符拆分字符串。

str.join() 方法用于將分隔符與管道 | 連接起來(lái)。 分隔器。

# ??? ,|-|:
print('|'.join([',', '-', ':']))

這將創(chuàng)建一個(gè)正則表達(dá)式模式,我們可以使用該模式根據(jù)指定的分隔符拆分字符串。

如果我們需要將一個(gè)字符串拆分為多個(gè)分隔符的單詞列表,我們還可以使用 re.findall() 方法。

使用 re.findall() 將字符串拆分為單詞列表

使用 re.findall() 方法將字符串拆分為具有多個(gè)分隔符的單詞列表。

re.findall() 方法將在每次出現(xiàn)單詞時(shí)拆分字符串,并返回包含單詞的列表。

import re

# ? 將字符串拆分為具有多個(gè)分隔符的單詞列表
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 方法將一個(gè)模式和一個(gè)字符串作為參數(shù),并返回一個(gè)字符串列表,其中包含字符串中該模式的所有非重疊匹配項(xiàng)。

我們傳遞給 re.findall() 方法的第一個(gè)參數(shù)是一個(gè)正則表達(dá)式。

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']

方括號(hào) [] 用于表示一組字符。

\w 字符與 Unicode 單詞字符匹配,并且包括可以作為任何語(yǔ)言的單詞一部分的大多數(shù)字符。

加號(hào) + 使正則表達(dá)式匹配前面字符(Unicode 字符)的 1 次或多次重復(fù)。

re.findall() 方法返回一個(gè)包含字符串中單詞的列表。

如果大家想了解關(guān)于正則表達(dá)式的知識(shí),可以參考 正則表達(dá)式教程。

該頁(yè)面包含所有特殊字符的列表以及許多有用的示例。

總結(jié)

到此這篇關(guān)于Python中拆分具有多個(gè)分隔符的字符串的文章就介紹到這了,更多相關(guān)Python拆分多分隔符的字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python實(shí)現(xiàn)裝飾器、描述符

    python實(shí)現(xiàn)裝飾器、描述符

    本篇文章通過(guò)代碼實(shí)例給大家分享了python實(shí)現(xiàn)裝飾器、描述符模擬代碼的過(guò)程,對(duì)戲需要的讀者可以參考下。
    2018-02-02
  • matplotlib實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)刷新的示例代碼

    matplotlib實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)刷新的示例代碼

    這篇文章主要介紹了matplotlib實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)刷新的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 基于Python實(shí)現(xiàn)最新房?jī)r(jià)信息的獲取

    基于Python實(shí)現(xiàn)最新房?jī)r(jià)信息的獲取

    這篇文章主要為大家介紹了如何利用Python獲取房?jī)r(jià)信息(以北京為例),整個(gè)數(shù)據(jù)獲取的信息是通過(guò)房源平臺(tái)獲取的,通過(guò)下載網(wǎng)頁(yè)元素并進(jìn)行數(shù)據(jù)提取分析完成整個(gè)過(guò)程,需要的可以參考一下
    2022-04-04
  • Python NaN空值的處理示例詳解

    Python NaN空值的處理示例詳解

    這篇文章主要介紹了Python NaN空值的處理,通過(guò)本文的介紹,對(duì)Python去掉數(shù)組中的空值NaN有了更加深入的了解,在實(shí)際的數(shù)據(jù)分析工作中,我們可以根據(jù)具體的情況選擇合,需要的朋友可以參考下
    2023-11-11
  • Python實(shí)現(xiàn)元素等待代碼實(shí)例

    Python實(shí)現(xiàn)元素等待代碼實(shí)例

    這篇文章主要介紹了python實(shí)現(xiàn)元素等待代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • OpenCV學(xué)習(xí)之圖像的疊加與混合詳解

    OpenCV學(xué)習(xí)之圖像的疊加與混合詳解

    這篇文章主要為大家詳細(xì)介紹了OpenCV圖像視覺(jué)學(xué)習(xí)中的圖像的疊加與混合,文中的示例代碼簡(jiǎn)潔易懂,具有一定的借鑒價(jià)值,需要的可以參考一下
    2023-02-02
  • Python tabulate結(jié)合loguru打印出美觀方便的日志記錄

    Python tabulate結(jié)合loguru打印出美觀方便的日志記錄

    在開(kāi)發(fā)過(guò)程中經(jīng)常碰到在本地環(huán)境無(wú)法完成聯(lián)調(diào)測(cè)試的情況,必須到統(tǒng)一的聯(lián)機(jī)環(huán)境對(duì)接其他系統(tǒng)測(cè)試。往往是出現(xiàn)了BUG難以查找數(shù)據(jù)記錄及時(shí)定位到錯(cuò)誤出現(xiàn)的位置。本文將利用tabulate結(jié)合loguru實(shí)現(xiàn)打印出美觀方便的日志記錄,需要的可以參考一下
    2022-10-10
  • Python中進(jìn)行表單處理的方法詳解

    Python中進(jìn)行表單處理的方法詳解

    這篇文章主要為大家詳細(xì)介紹了Python中進(jìn)行表單處理的方法,分別是利用Flask和Flask-WTF處理表單,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-12-12
  • Python可視化神器pyecharts繪制儀表盤(pán)

    Python可視化神器pyecharts繪制儀表盤(pán)

    這篇文章主要介紹了Python可視化神器pyecharts繪制儀表盤(pán),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • 關(guān)于python 讀取csv最快的Datatable的用法,你都學(xué)會(huì)了嗎

    關(guān)于python 讀取csv最快的Datatable的用法,你都學(xué)會(huì)了嗎

    大家都知道Datatable與眾不同就是快,還有一點(diǎn)大家需要注意使用Datatable庫(kù)需要python3.6及以上版本,接下來(lái)通過(guò)本文給大家介紹了python 讀取csv最快的Datatable的用法,需要的朋友可以參考下
    2021-10-10

最新評(píng)論