What is regex for currency symbol?

前端 未结 2 1932
滥情空心
滥情空心 2020-12-30 20:58

In java I can use the regex : \\p{Sc} for detecting currency symbol in text. What is the equivalent in Python?

相关标签:
2条回答
  • 2020-12-30 21:36

    If you want to stick with re, supply the characters from Sc manually:

    u"[$¢£¤¥֏؋৲৳৻૱௹฿៛\u20a0-\u20bd\ua838\ufdfc\ufe69\uff04\uffe0\uffe1\uffe5\uffe6]"
    

    will do.

    0 讨论(0)
  • 2020-12-30 21:49

    You can use the unicode category if you use regex package:

    >>> import regex
    >>> regex.findall(r'\p{Sc}', '$99.99 / €77')  # Python 3.x
    ['$', '€']
    

    >>> regex.findall(ur'\p{Sc}', u'$99.99 / €77')  # Python 2.x (NoteL unicode literal)
    [u'$', u'\xa2']
    >>> print _[1]
    ¢
    

    UPDATE

    Alterantive way using unicodedata.category:

    >>> import unicodedata
    >>> [ch for ch in '$99.99 / €77' if unicodedata.category(ch) == 'Sc']
    ['$', '€']
    
    0 讨论(0)
提交回复
热议问题