netUpperLowerCase
LowerCase and UpperCase
The 2 functions ToLowercase and ToUppercase are used when dealing with Unicode characters:
ToLowercase←{ (0=1↑0⍴⍵):'' ⎕USING←',mscorlib.dll' (⎕NEW System.String(⊂,⍵)).ToLowerInvariant } ToUppercase←{ (0=1↑0⍴⍵):'' ⎕USING←',mscorlib.dll' (⎕NEW System.String(⊂,⍵)).ToUpperInvariant } ToUppercase 'monday' MONDAY ToUppercase¨ 'sunday' 'monday' 'tuesday' SUNDAY MONDAY TUESDAY ToUppercase 'Вторник' ВТОРНИК
Remove the Accents (diacritics)
The following function can be used to remove the accents of Unicode words. This is useful to normalize the text input of user when used for searching.
r←RemoveAccents string;str;strFormD;stringBuilder;⎕USING ⍝ Function to remove the accents. ⍝ For example: 'Crème Brûlée' becomes 'Creme Brulee' ⍝ Adapted from the following posts: ⍝ http://www.siao2.com/2005/02/19/376617.aspx ⍝ http://www.siao2.com/2007/05/14/2629747.aspx ⎕USING←'System,mscorlib.dll' 'System.Text,mscorlib.dll' 'System.Globalization,mscorlib.dll' str←⎕NEW String(⊂string) strFormD←str.Normalize(NormalizationForm.FormD) stringBuilder←⎕NEW StringBuilder {UnicodeCategory.NonSpacingMark≠CharUnicodeInfo.GetUnicodeCategory(⍵):{}stringBuilder.Append(⍵)}¨strFormD str←⎕NEW String(⊂stringBuilder.ToString ⍬) r←str.Normalize(NormalizationForm.FormC)
And here is some utilization of the function:
RemoveAccents 'Crème Brûlée' Creme Brulee RemoveAccents 'âãäåçèéêë ìíîïðñòó ôõöùúûüý' aaaaceeee iiiiðnoo ooouuuuy
CategoryDyalog CategoryDyalogDotNet CategoryDyalogExamplesDotNet