国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

在 Python 中拆分具有多個(gè)分隔符的字符串

這篇具有很好參考價(jià)值的文章主要介紹了在 Python 中拆分具有多個(gè)分隔符的字符串。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

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

  1. 使用 re.split() 方法,例如 re.split(r',|-', my_str)。
  2. 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) [] 來指示一組字符。

import re

my_str = 'fql,jiyik-dot,com'

my_list = re.split(r'[,-]', my_str)

print(my_list)  # ??? ['fql', 'jiyik', 'dot', 'com']

python按分隔符進(jìn)行分割,編程,Python,python,正則表達(dá)式,開發(fā)語言

確保在方括號(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è)定界符開頭或結(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í)行某些操作或選擇滿足條件的元素子集。

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


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

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

  1. 使用 str.replace() 方法將第一個(gè)分隔符替換為第二個(gè)分隔符。
  2. 使用 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)沒有分隔符傳遞給 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() 方法用于將分隔符與管道 | 連接起來。 分隔器。

# ??? ,|-|:
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 單詞字符匹配,并且包括可以作為任何語言的單詞一部分的大多數(shù)字符。

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

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

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

該頁面包含所有特殊字符的列表以及許多有用的示例。文章來源地址http://www.zghlxwxcb.cn/news/detail-617942.html

到了這里,關(guān)于在 Python 中拆分具有多個(gè)分隔符的字符串的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • day-15 按分隔符拆分字符串

    day-15 按分隔符拆分字符串

    思路 依次對(duì)words的每個(gè)字符進(jìn)行split(),然后將非空的加入List 解題方法 String arr[]=s.split(ss);利用split()方法將words的每個(gè)字符串劃分為String數(shù)組 if(arr[i]!=“”) //將非空的加入 list.add(arr[i]); String ss=“”+separator; //使用轉(zhuǎn)義字符 時(shí)間復(fù)雜度: O(mn) 空間復(fù)雜度: O(n) Code

    2024年01月20日
    瀏覽(24)
  • 【LeetCode每日一題】2788. 按分隔符拆分字符串

    【LeetCode每日一題】2788. 按分隔符拆分字符串

    2024-1-20 2788. 按分隔符拆分字符串 思路: 對(duì)于每個(gè)單詞,使用一個(gè)可變字符串 StringBuilder 來構(gòu)建拆分后的單詞。初始時(shí),可變字符串為空。 遍歷每個(gè)單詞的每個(gè)字符,如果遇到指定的分隔符,就將可變字符串中的字符構(gòu)成一個(gè)新的單詞,并將其添加到結(jié)果列表中。然后清空可

    2024年01月21日
    瀏覽(21)
  • LeetCode 2788.按分隔符拆分字符串:模擬(字符串處理)

    力扣題目鏈接:https://leetcode.cn/problems/split-strings-by-separator/ 給你一個(gè)字符串?dāng)?shù)組 words 和一個(gè)字符 separator ,請(qǐng)你按 separator 拆分 words 中的每個(gè)字符串。 返回一個(gè)由拆分后的新字符串組成的字符串?dāng)?shù)組, 不包括空字符串 。 注意 separator 用于決定拆分發(fā)生的位置,但它不包含在

    2024年01月21日
    瀏覽(29)
  • 最優(yōu)字符串分隔符:零寬度空格和字符

    在文本處理和格式化中,選擇合適的分隔符是至關(guān)重要的。 本文將在介紹兩個(gè)不常見但功能強(qiáng)大的分隔符:零寬度空格和??字符。 零寬度空格是Unicode字符集中的一個(gè)特殊字符,其Unicode編碼為U+200B。 零寬度空格在文本中不占據(jù)任何寬度,因此是一個(gè)不可見的分隔符。 主要應(yīng)

    2024年02月21日
    瀏覽(25)
  • 按分隔符分割字符串(DB2/mysql/hive/Oracle)

    按分隔符分割字符串(DB2/mysql/hive/Oracle)

    1、DB2 --substr+locate/instr DB2沒有自己按分隔符分割字符串的函數(shù),只能結(jié)合使用 或者在DB2里還可以自己寫一個(gè)split分割字符串的函數(shù) 附:instr函數(shù)用法--用來查找指定字符在字符串中出現(xiàn)的位置 DB2中的locate 函數(shù)可實(shí)現(xiàn)同樣的功能,用法同 instr ,只是源字符串和目標(biāo)字符串的位

    2024年02月13日
    瀏覽(29)
  • seatunnel hive source 未設(shè)置分隔符導(dǎo)致多個(gè)字段合并成一個(gè)的問題定位解決

    seatunnel hive source 未設(shè)置分隔符導(dǎo)致多個(gè)字段合并成一個(gè)的問題定位解決

    seatunnel hive source 未設(shè)置分隔符導(dǎo)致多個(gè)字段沒有切分全保存在一個(gè)字段中了,翻看源碼發(fā)現(xiàn)分隔符是是通過delimiter設(shè)置的,只要設(shè)置這個(gè)delimiter=\\\",\\\"就可以了。 設(shè)置這個(gè)屬性 delimiter=“,” 他的默認(rèn)值是u0001,如果沒有設(shè)置delimiter屬性則會(huì)根據(jù)文件類型判斷,如果是csv則使用”,”

    2024年02月16日
    瀏覽(26)
  • 【Hive】分隔符 『 單字節(jié)分隔符 | 多字節(jié)分隔符』

    【Hive】分隔符 『 單字節(jié)分隔符 | 多字節(jié)分隔符』

    在創(chuàng)建表時(shí),可以使用 row format ... 指定分隔符形式。比如: 但是,根據(jù)原始數(shù)據(jù)分隔符的復(fù)雜程度,需要指定不同的分隔形式。比如: 情況一:分隔符為單字節(jié) 分隔符為多字節(jié) 字段中包含了分隔符 方法:使用delimited 加上 delimited ,即使用 row format delimited :用

    2024年02月13日
    瀏覽(25)
  • Python Pandas:DataFrame 一列切分成多列、分隔符切分選字段

    Python Pandas:DataFrame 一列切分成多列、分隔符切分選字段

    創(chuàng)建一個(gè)復(fù)雜又簡單的數(shù)據(jù)集 split expand:這個(gè)參數(shù)直接將分列后的結(jié)果轉(zhuǎn)換成 DataFrame drop axis 是指處哪一個(gè)軸 columns 是指某一列或者多列 inplaces 是否替換原來的 dataframe

    2024年02月12日
    瀏覽(15)
  • hive 分隔符

    在 Hive 中,分隔符用于指定數(shù)據(jù)文件中字段之間的分隔符。當(dāng)你創(chuàng)建外部表或加載數(shù)據(jù)文件時(shí),你可以指定分隔符,以便 Hive 正確地解析文件中的數(shù)據(jù)。 1. 創(chuàng)建外部表時(shí)指定分隔符: 當(dāng)你創(chuàng)建外部表時(shí),可以使用 ROW FORMAT 子句來指定數(shù)據(jù)文件中字段的分隔符。例如,如果你

    2024年02月09日
    瀏覽(21)
  • Hive建表時(shí),指定分隔符

    ?一.建表語句 二.語句分析 ROW FORMAT DELIMITED?FIELDS TERMINATED BY \\\',\\\' : 這個(gè)子句表明Hive將使用 \\\',\\\' 字符作為列分隔符,即分隔字段。 ROW FORMAT DELIMITED?COLLECTION items terminated BY \\\'_\\\' ?:這個(gè)子句表明Hive將使用 \\\'_\\\' 作為集合元素間的分隔符。 ROW FORMAT DELIMITED?MAP KEYS TERMINATED BY \\\':\\\' :這個(gè)

    2024年02月11日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包