为了账号安全,请及时绑定邮箱和手机立即绑定

将字符串拆分为具有多个字界分隔符的单词

将字符串拆分为具有多个字界分隔符的单词

将字符串拆分为具有多个字界分隔符的单词我想做的是一个相当常见的任务,但我在网上没有发现任何参考。我有标点符号的文本,我想要一个单词的列表。"Hey, you - what are you doing here!?"应该是['hey', 'you', 'what', 'are', 'you', 'doing', 'here']但是Python的str.split()只适用于一个参数,所以在用空格分隔后,我有所有带有标点符号的单词。有什么想法吗?
查看完整描述

4 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

re.split()

re.plit(模式,字符串[,maxsplit=0])

将字符串按模式出现的情况拆分。如果在模式中使用捕获括号,则模式中所有组的文本也将作为结果列表的一部分返回。如果maxsplit是非零的,则最多会发生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.']


查看完整回答
反对 回复 2019-06-01
?
茅侃侃

TA贡献1842条经验 获得超21个赞

另一种不需要regexp的快速方法是首先替换字符,如下所示:

>>> 'a;bcd,ef g'.replace(';',' ').replace(',',' ').split()['a', 'bcd', 'ef', 'g']


查看完整回答
反对 回复 2019-06-01
  • 4 回答
  • 0 关注
  • 874 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信