package cn.edu.bjut.utils; public class StringUtils { public final static char SEPARATOR = '/'; public static String capitalize(String str) { if (str == null) { return null; } if (str.length() == 1) { return str.toUpperCase(); } return str.substring(0, 1).toUpperCase() + str.substring(1).toLowerCase(); } public static boolean isIpc(String str) { char section = str.charAt(0); if (section < 'A' || section > 'H') { return false; } int mainClass = Integer.parseInt(str.substring(1, 3)); if (mainClass < 1 || mainClass > 99) { return false; } char subclass = str.charAt(3); if (subclass < 'A' || subclass > 'Z') { return false; } int pos = str.indexOf(SEPARATOR); int mainGroup = Integer.parseInt(str.substring(4, pos).trim()); if (mainGroup < 1 || mainGroup > 9999) { return false; } int subgroup = Integer.parseInt(str.substring(pos + 1)); if (subgroup < 0 || subgroup > 99999) { return false; } return true; } public static void main(String[] args) { String str = "heLLO"; System.out.println(StringUtils.capitalize(str)); String symbol = "G06F 17/30"; System.out.println(StringUtils.isIpc(symbol)); } }