Python the same char not equals

前端 未结 1 958
灰色年华
灰色年华 2020-12-01 21:34

I have text in my database. I send some text from xhr to my view. Function find does not find some unicode chars.

I want to find selected text using:



        
相关标签:
1条回答
  • 2020-12-01 22:10

    Here unicodedata.normalize might help you.

    Basically if you normalize the data coming from the db, and normalize your selection to the same form, you should have a better result when using str.find, str.__contains__ (i.e. in), str.index, and friends.

    >>> u1 = chr(281)
    >>> u2 = chr(101) + chr(808)
    >>> print(u1, u2)
    ę ę
    >>> u1 == u2
    False
    >>> unicodedata.normalize('NFC', u2) == u1
    True
    

    NFC stands for the Normal Form Composed form. You can read up here for some description of the other possible forms.

    0 讨论(0)
提交回复
热议问题