Actueel…
suffix arrays
pydifsufsort → zie benedenfasttextsearchPySAIS → wrapper voor libsaissteap_by_steap → werkt nu welpysuffixarray → werkt nietpysubstringsearch → zoeken m.b.v. libsais, maar suffix array alleen intern gebruiktesaxx-py → werkt niet met Unicodedivsufsort → pip install faaltAlpino
nextcloud
Later…
pydifsufsort werkt niet alleen met strings, maar ook met bytes, bytearrays en numpy arrays. Je kunt een string in utf-8 omzetten naar bytes voor het aanmaken van de suffixarrys, en daarna weer terug naar string:
#!/usr/bin/env python3 from pydivsufsort import divsufsort string_inp = "banaña$".encode('utf-8') string_suffix_array = divsufsort(string_inp) print(">>>", string_inp) print(string_suffix_array) for i in string_suffix_array: try: print(i, string_inp[i:].decode('utf-8')) except UnicodeDecodeError: pass
Uitvoer, waarin string vanaf index 5 ontbreekt:
>>> b'bana\xc3\xb1a$' [7 6 1 3 0 2 5 4] 7 $ 6 a$ 1 anaña$ 3 aña$ 0 banaña$ 2 naña$ 4 ña$