2016-12-01 3 views
0

У меня есть список слов, преобразованных в список unciode строк, но я не в состоянии соответствовать конечным строкам конкретного слова из списка строк, как, например:питона юникод строка, соответствующая

список, который содержит строк из которых он должен быть removed.For например उपलब्धियां слово при преобразовании в Юникод u'\u0909\u092a\u0932\u092c\u094d\u0927\u093f\u092f\u093e\u0902'

списка, который содержит строки, которые, если находятся в конце слова в юникоде должны быть удалены r3_bad= [u"0900", u"0901", u"0902",u"0903"]; в этом случае u0902 находится в конец из списка плохих строк, который нужно удалить.

я попытался

if re.search(r'u$[0-3]',word[-1]) : 

не возвращает истину я не знаю, почему.

, пожалуйста, помогите заблаговременно.

+0

Просто напечатать 'r'u $ [0-3] 'и' слово [-1] ', и вы должны понять, почему Python не может найти * бывший * in * последний *. –

ответ

0

Почему RegEx? Я думаю, что нужно что-то вроде простого сравнения строк:

s = u'\u0909\u092a\u0932\u092c\u094d\u0927\u093f\u092f\u093e\u0902' 
r3_bad= [u'\u0900',u'\u0901',u'\u0902',u'\u0903'] 

print s # output: उपलब्धियां 
if s[-1] in r3_bad: print s[:-1] # output: उपलब्धिया 
+0

В моем случае я получаю сообщение об ошибке как таковое, как – imshashi17

+0

в моем случае я получаю сообщение об ошибке, например: «Unicode равное сравнение не удалось преобразовать оба аргумента в Unicode», тип r3_bad - это список и тип s, как в ваш ответ - unicode. пожалуйста, помогите – imshashi17

+0

Оператор 'in' ищет любой истребимый объект, чтобы вы могли использовать другую строку unicode вместо списка, это все равно: r3_bad = u '\ u0900 \ u0901 \ u0902 \ u0903' – Organis