def _str_strip(self, to_strip=None): if pa_version_under4p0: return super()._str_strip(to_strip) if to_strip is None: result = pc.utf8_trim_whitespace(self._data) else: result = pc.utf8_trim(self._data, characters=to_strip) return type(self)(result)
def _str_strip(self, to_strip=None): if to_strip is None: if hasattr(pc, "utf8_trim_whitespace"): return type(self)(pc.utf8_trim_whitespace(self._data)) else: if hasattr(pc, "utf8_trim"): return type(self)(pc.utf8_trim(self._data, characters=to_strip)) return super()._str_strip(to_strip)
def test_trim(): # \u3000 is unicode whitespace arr = pa.array([" foo", None, " \u3000foo bar \t"]) result = pc.utf8_trim_whitespace(arr) expected = pa.array(["foo", None, "foo bar"]) assert expected.equals(result) arr = pa.array([" foo", None, " \u3000foo bar \t"]) result = pc.ascii_trim_whitespace(arr) expected = pa.array(["foo", None, "\u3000foo bar"]) assert expected.equals(result) arr = pa.array([" foo", None, " \u3000foo bar \t"]) result = pc.utf8_trim(arr, characters=' f\u3000') expected = pa.array(["oo", None, "oo bar \t"]) assert expected.equals(result)