Есть некоторые проблемы с ответами, представленными здесь.
{tag.strip ("#") для тега в tags.split (), если tag.startswith ("#")}
[i [1:] для i в line.split (), если i.startswith ("#")]
не будет работать, если у вас есть хэштег, как '# one # two #'
2 re.compile(r"#(\w+)")
не будет работать для многих языков Юникода (даже с использованием re.UNICODE)
я видел больше способов извлечь хэштеги, но не нашел ни одного из них, отвечающих на все случаи
поэтому я написал небольшой код на python для обработки большинства случаев. это работает для меня.
def get_hashtagslist(string):
ret = []
s=''
hashtag = False
for char in string:
if char=='#':
hashtag = True
if s:
ret.append(s)
s=''
continue
# take only the prefix of the hastag in case contain one of this chars (like on: '#happy,but i..' it will takes only 'happy' )
if hashtag and char in [' ','.',',','(',')',':','{','}'] and s:
ret.append(s)
s=''
hashtag=False
if hashtag:
s+=char
if s:
ret.append(s)
return set(ret)