30秒到達戰(zhàn)場
2019-06-01 16:45:01
將字符串拆分為具有多個字界分隔符的單詞我想做的是一個相當(dāng)常見的任務(wù),但我在網(wǎng)上沒有發(fā)現(xiàn)任何參考。我有標(biāo)點符號的文本,我想要一個單詞的列表。"Hey, you - what are you doing here!?"應(yīng)該是['hey', 'you', 'what', 'are', 'you', 'doing', 'here']但是Python的str.split()只適用于一個參數(shù),所以在用空格分隔后,我有所有帶有標(biāo)點符號的單詞。有什么想法嗎?
4 回答

千萬里不及你
TA貢獻1784條經(jīng)驗 獲得超9個贊
re.plit(模式,字符串[,maxsplit=0])
將字符串按模式出現(xiàn)的情況拆分。如果在模式中使用捕獲括號,則模式中所有組的文本也將作為結(jié)果列表的一部分返回。如果maxsplit是非零的,則最多會發(fā)生maxsplitplit,并且返回字符串的其余部分作為列表的最后一個元素。(不兼容性注意:在最初的Python1.5版本中,maxsplp被忽略了。這已在以后的版本中得到修正。)
>>> re.split('\W+', 'Words, words, words.')
['Words', 'words', 'words', '']
>>> re.split('(\W+)', 'Words, words, words.')
['Words', ', ', 'words', ', ', 'words', '.', '']
>>> re.split('\W+', 'Words, words, words.', 1)
['Words', 'words, words.']

茅侃侃
TA貢獻1842條經(jīng)驗 獲得超21個贊
>>> 'a;bcd,ef g'.replace(';',' ').replace(',',' ').split()['a', 'bcd', 'ef', 'g']
添加回答
舉報
0/150
提交
取消