删除以python中的反斜杠开头的标记

时间:2017-01-30 03:17:37

标签: python

您好我正在尝试删除以反斜杠开头的所有令牌。下面是我的代码,并没有删除令牌。另外我怎么能用正则表达式做到这一点?

tokens = [u'#hamandcheesecroissant', u'\u1026',u'#whoopwhoop', u'\u2026', u'jose', u'mourinho', u'refusing', u'acknowledge', u'lost']
new_tokens = []
for token in tokens:
  if token.startswith('\\'):
   new_tokens.append(token)

2 个答案:

答案 0 :(得分:1)

u'\u1026'是一个包含单个字符的unicode字符串。该字符串没有实际的反斜杠字符。我建议您对Python字符串中的\u语法进行一些研究。

答案 1 :(得分:0)

当Unicode字符被编码时,它们占用2个或更多字节。因此,找出字符串是否包含Unicode字符的一种方法是比较长度:

>>> tokens = [u'#hamandcheesecroissant', u'\u1026',u'#whoopwhoop', u'\u2026', u'jose', u'mourinho', u'refusing', u'acknowledge', u'lost']
>>> [t for t in tokens if (len(t)==len(t.encode()))]
['#hamandcheesecroissant', '#whoopwhoop', 'jose', 'mourinho', 'refusing', 'acknowledge', 'lost']

您可以修改上面的逻辑来过滤单字符Unicode字符串。