我的数据库中有一个文本.我从xhr发送一些文字给我看.函数find找不到一些unicode字符.我想使用以下方法查找所选文本:
text.find(selection)
Run Code Online (Sandbox Code Playgroud)
但有时变量'选择'有这样的字符:
? # in xhr unichr(281)
Run Code Online (Sandbox Code Playgroud)
在变量'text'中有一个char:
e? # in db has two chars unichr(101) + unichr(808)
Run Code Online (Sandbox Code Playgroud)
wim*_*wim 13
这unicodedata.normalize
可能对你有帮助.
基本上,如果你从标准化的数据库来的数据,以及标准化您的选择,以相同的形式,你应该使用时有更好的结果str.find
,str.__contains__
(即in
),str.index
和朋友.
>>> u1 = chr(281)
>>> u2 = chr(101) + chr(808)
>>> print(u1, u2)
? e?
>>> u1 == u2
False
>>> unicodedata.normalize('NFC', u2) == u1
True
Run Code Online (Sandbox Code Playgroud)
NFC代表Normal Form Composed表单.您可以在此处阅读其他可能形式的描述.
归档时间: |
|
查看次数: |
404 次 |
最近记录: |