Are you sure you’re not comparing Strings to Characters at some point? Going 
@TypeChecked might reveal if and where that’s happening...

-- 
Rachel Greenham
rac...@merus.eu

> On 22 Feb 2023, at 11:58, James McMahon <jsmcmah...@gmail.com> wrote:
> 
> I have a Groovy list that holds the unicode representation of select foreign 
> language characters, something like this simplified version:
> 
> def myList = ['\u00E4','\u00D6','\u00F8']
> 
> I have built myself a Groovy map that is the crosstabulation of characters by 
> count in an incoming document, so my map looks something like this:
> 
> crossTab = ["a" : "16736", "b" : "192", " ä  " : "18"]
> 
> The foreign language characters in this map that are in the set of keys often 
> have extra whitespace around them, and for certain languages there is a weird 
> "right to left" thing going on that I don't quite fully understand.
> 
> My objective: iterate through my list, return true if the element from the 
> list is found as a key in the map, and return the count - the map value for 
> that key - if the key is found. My problem: my lookup is failing to return 
> any hits right now. I know that some of these foreign language characters are 
> in my data. I suspect my lookup is failing because the keys are not clean 
> representations of the foreign language characters.
> 
> How do I modify my keys using Groovy to trim them of leading and trailing 
> whitespace?
> 
> Since my element from my list is expressed as unicode, how would I convert 
> the trimmed key representation to unicode using Groovy?
> 
> Thank you in advance for any help.

Reply via email to