Python中帶有多個(gè)分隔符的拆分字符串我在網(wǎng)上找到了一些答案,但我對(duì)正則表達(dá)式?jīng)]有經(jīng)驗(yàn),我認(rèn)為這是這里所需要的。我有一個(gè)字符串,需要用‘;’或‘來(lái)分隔,也就是說(shuō),它必須是分號(hào)或逗號(hào),后面跟著空格。沒(méi)有尾隨空格的個(gè)別逗號(hào)應(yīng)保持不變。示例字符串:"b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3], mesitylene [000108-67-8]; polymerized 1,2-dihydro-2,2,4- trimethyl
quinoline [026780-96-1]"應(yīng)拆分為包含以下內(nèi)容的列表:('b-staged divinylsiloxane-bis-benzocyclobutene [124221-30-3]' , 'mesitylene [000108-67-8]', 'polymerized 1,2-dihydro-2,2,4- trime
thyl quinoline [026780-96-1]')
3 回答

侃侃無(wú)極
TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
import re re.split('; |, ',str)
最新情況:
>>> a='Beautiful, is; better*than\nugly'>>> import re>>> re.split('; |, |\*|\n',a)['Beautiful', 'is', 'better', 'than', 'ugly']

智慧大石
TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
>>> import re>>> delimiters = "a", "...", "(c)">>> example = "stackoverflow (c) is awesome... isn't it?" >>> regexPattern = '|'.join(map(re.escape, delimiters))>>> regexPattern'a|\\.\\.\\.|\\(c\\)' >>> re.split(regexPattern, example)['st', 'ckoverflow ', ' is ', 'wesome', " isn't it?"]
def split(delimiters, string, maxsplit=0): import re regexPattern = '|'.join(map(re.escape, delimiters)) return re.split(regexPattern, string, maxsplit)
RegexObject.split
.
添加回答
舉報(bào)
0/150
提交
取消