ReplaceSpecialCharactersLibrary – knižnica na odstránenie diakritiky zo stringu

February 03, 2012

Keďže som potreboval na jednom menšom projekte funkciu ktorá by sa hodila pre vytvorenie peknej URL z bežného názvu článku, rozhodol som sa túto už mnohokrát riešenú funkcionalitu zabaliť do jednej triedy, urobiť pár unit testov a hodiť na GitHub. Možností implementovať bolo viac, od Regexu, cez StringBuilder a nejaký vlastný zoznam znakov ktoré chceme nahradiť až po string.Normalize, ktorý som nakoniec použil, teda ehm našiel na webe. Celý projekt nájdete na tomto odkaze :

https://github.com/rostacik/ReplaceSpecialCharactersLibrary

Btw pri hľadaní som narazil na jeden celkom zaujímavý kus kódu, nech sa páči :

http://mynthon.net/howto/-/strip-accents-romove-national-characters-replace-diacritic-chars.txt

PS: viem, že je to absolútna blbôstka, ale poštval som na to PEX, urobil som pár sample testov a na NuGet to dávať samozrejme nebudem, je to vlastne len snippet, ale možno sa vám zíde, že stačí pridať referenciu a proste to funguje (teda dúfam 🙂 ). Ak niečo, píšte do komentov, rád podiskutujem ak som niečo urobil zle.

EDIT : Pridal som na základe chalanov z vyvojari.sk ešte rozšírenie o extension metódy a ich testy, takže stačí include knižnicu a použiť namespace a môžete si vybrať, či budete používať inštanciu triedy, alebo extension metódu na akomkoľvek string-u. Enjoy.

Hope this helps.


Profile picture

Written by Dušan Roštár - the "mr edge case" guy
my twitter : rostacik, my linkedin : rostar, drop me an email : here