Some ways to iterate through the characters of a string in Java are:
StringTokenizer?String to a char[] and iterating over that.What is the easiest/best/most correct way to iterate?
As far as correctness goes, this only works for Unicode Code Points in the Basic Multilingual Plane (those that can be represented by a single two byte char in Java). If you have characters outside of that, you will get two chars with an individual surrogate pair in each of them to represent a single real world character.
I use a for loop to iterate the string and use charAt() to get each character to examine it. Since the String is implemented with an array, the charAt() method is a constant time operation.
String s = "...stuff...";
for (int i = 0; i < s.length(); i++){
char c = s.charAt(i);
//Process char
}
That's what I would do. It seems the easiest to me.