在标点符号上拆分字符串(标签除外)

如何在除#字符之外的任何标点符号和空格处拆分字符串?

tweet="I went on #Russia to see the world cup. We lost!"

我想这样分割下面的字符串:

["I", "went", "to", "#Russia", "to, "see", "the", "world", "cup", "We","lost"]

我的尝试:

p = re.compile(r"\w+|[^\w\s]", re.UNICODE)

由于它创建的是“ Russia”而不是“ #Russia”,因此不起作用


繁星点点滴滴
浏览 186回答 3
3回答

守候你守候我

具有re.findall功能:tweet="I went on #Russia to see the world cup. We lost!"words = re.findall(r'[\w#]+', tweet)print(words)输出:['I', 'went', 'on', '#Russia', 'to', 'see', 'the', 'world', 'cup', 'We', 'lost']

牧羊人nacy

使用 re.sub前任:import retweet="I went on #Russia to see the world cup. We lost!"res = list(map(lambda x: re.sub("[^\w#]", "", x), tweet.split()))print(res)输出:['I', 'went', 'on', '#Russia', 'to', 'see', 'the', 'world', 'cup', 'We', 'lost']
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python