如何在python中检查字符串并获取带有特殊字符的单词

2024-06-26 09:45:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一根绳子

"A collection point is a fancy name for what is essentially a dumpster
#Gazipur #issue #Garbage #Garbagecollection"

在这里,我只需要搜索带有“#”的单词,然后将这些单词放入变量中

我试过很多方法。你知道吗

谢谢


Tags: nameforisissue单词whatcollectionpoint
3条回答

您可以将列表理解^{}筛选器一起使用,如下所示:

>>> my_str = 'Gazipur #issue #Garbage #Garbagecollection'
>>> prefix = '#'

#                 filter words starting with prefix v
>>> [word for word in my_str.split() if word.startswith(prefix)]
['#issue', '#Garbage', '#Garbagecollection']

如果要从每个单词中删除前缀,可以将列表理解表达式中的每个字符串切分为:

#           v slice string to remove the `prefix` 
>>> [word[len(prefix):] for word in my_str.split() if word.startswith(prefix)]
['issue', 'Garbage', 'Garbagecollection']

你可以用reg ex

import re
r = re.compile('#(.*?)\s+')
m = r.search(str1)
if m:
   hashtags = m.group(1)

编辑:

根据您的答案,将其修改为:

进口re

str1 = '#lol #loalsd asd'
r = re.compile('#(.*?)\s+')
m = r.findall(str1)
if m:
   hashtags = m
   print(hashtags)

基于Akshay的回答,你可以:

import re

str1 = '#lol #loalsd asd'
r = re.compile('#(.*?)\s+')
m = r.findall(str1)
if m:
   hashtags = m
   print(hashtags)

hashtags是一个列表,因此您可以相应地访问它们。你知道吗

相关问题 更多 >