我有一个像
这样的字符串"A collection point is a fancy name for what is essentially a dumpster
#Gazipur #issue #Garbage #Garbagecollection"
在这里,我只需搜索带有“#”的单词,并将这些单词转换为变量
我尝试了很多方法。
谢谢
答案 0 :(得分:0)
您可以将列表理解与string.startswith
过滤器结合使用:
>>> 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']
如果您想从每个单词中删除前缀,您可以将 list comprehension 表达式中的每个字符串切片为:
# v slice string to remove the `prefix`
>>> [word[len(prefix):] for word in my_str.split() if word.startswith(prefix)]
['issue', 'Garbage', 'Garbagecollection']
答案 1 :(得分:-1)
你可以使用reg ex。
import re
r = re.compile('#(.*?)\s+')
m = r.search(str1)
if m:
hashtags = m.group(1)
编辑:
根据您的回答,将其修改为:
导入重新
str1 = '#lol #loalsd asd'
r = re.compile('#(.*?)\s+')
m = r.findall(str1)
if m:
hashtags = m
print(hashtags)
答案 2 :(得分:-1)
根据Akshay的回答,您可以这样做:
import re
str1 = '#lol #loalsd asd'
r = re.compile('#(.*?)\s+')
m = r.findall(str1)
if m:
hashtags = m
print(hashtags)
主题标签是一个列表,因此您可以相应地访问它们。