Re: Stylistic note on loops
On 21.10.2010 19:34, markspace wrote:
I'm doing some text parsing and I'd appreciate some input on code styles
for loops.
A lot of the processing I'm currently doing involves finding a
particular character, and then doing something with the text up to that
point. For example:
int i;
for( i = 1; Character.isLetter( s.charAt( i) ); i++ )
{}
// do something with i and s here
This marches ahead until it find a character that isn't a "letter",
then, with i set to the offset of the last letter+1, is able to do
something with that group of letters in string s.
Did you consider using regular expressions? I do not know what your
inputs look like and what processing you have to do with this. But if
you need to take the string apart in more ways you could start with
package parsing;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class LetterParsing {
/** Pick a better name. */
private static final Pattern PAT = Pattern.compile("\\A.(\\p{Alpha}*)");
public static void main(String[] args) {
for (final String s : args) {
final Matcher m = PAT.matcher(s);
if (m.find()) {
final String letters = m.group(1);
System.out.println("Found letters: '" + letters + "'");
} else {
// no match
System.out.println("Did not find any letters in '" + s + "'");
}
}
}
}
Note, I let the regexp start with a dot because your indexes start at 1!
Kind regards
robert
--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/