- except UnicodeEncodeError:
- return locale.strxfrm(string.encode(self.encoding, "replace"))
-
- def cmp(self, a, b):
- """Return negative if a < b, zero if a == b, positive if a > b.
-
- If strs rather than unicodes are passed in, they are first
- decoded according to the 'encoding' attribute of the Collator.
- """
- if isinstance(a, str):
- a = a.decode(self.encoding, "replace")
- if isinstance(b, str):
- b = b.decode(self.encoding, "replace")
- return locale.strcoll(a, b)
-
- def words(self, string, sep=re.compile(r"\W+", re.UNICODE)):
- """Split the string into separate words.
-
- This split is done using the locale's notion of a word boundry.
- """
- return re.split(sep, string)
-