如何检查字符串并获取python中包含特殊字符的单词

时间:2017-06-30 06:48:41

标签: python search

我有一个像

这样的字符串
"A collection point is a fancy name for what is essentially a dumpster
#Gazipur #issue #Garbage #Garbagecollection"

在这里,我只需搜索带有“#”的单词,并将这些单词转换为变量

我尝试了很多方法。

谢谢

3 个答案:

答案 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)

主题标签是一个列表,因此您可以相应地访问它们。