CamelCase в Groovy, Java
Пример для версий
Groovy 1.7,
Sun Java 6
В этом примере используются регулярные выражения Java. Регулярное выражение [a-zA-Z]+
описывает последовательность букв латинского алфавита в любом регистре, идущих подряд, окруженную другими символами или концами строки. Пара классов Pattern
и Matcher
позволяют создать это регулярное выражение и извлечь из строки все фрагменты, соответствующие ему. Для каждого такого фрагмента его первый символ переводится в верхний регистр, а последующие — в нижний, с использованием стандартных методов класса String
. Наконец, результаты обработки фрагмента записываются в переменную типа StringBuffer
, накапливающую результат.
import java.util.regex.*;
import java.io.*;
public class CamelCase {
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Pattern p = Pattern.compile("[a-zA-Z]+");
Matcher m = p.matcher(br.readLine());
StringBuffer result = new StringBuffer();
String word;
while (m.find()) {
word = m.group();
result.append(word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase());
}
System.out.println(result.toString());
} catch (Exception e) {
System.err.println("An error occured while reading input string.");
}
}
}
Комментарии
]]>blog comments powered by Disqus
]]>