One thing I tried was to nix everything after the colon in the key, but as you can see on the last one there is sometimes a character before the ID. One very inefficient way is to read them into parallel arrays and search through the keys for each ID I am trying to look up and use a string.contains(). But like I said there are approx. 1 million key/value pairs and this is just to slow...ran it for about 15 minutes and still wasn't finished. BTW, just thinking about iterating through the keys and doing my lookups in my ID list, but that list is 1500+ so that is less than ideal as well.
So does anyone have any other ideas on how I could complete these lookups?