1. 程式人生 > 實用技巧 >java正則,將<a或者</a,尖括號後面的字母改成大寫

java正則,將<a或者</a,尖括號後面的字母改成大寫

java正則,將<a或者</a,尖括號後面的字母改成大寫

/**
     * 將<a或者</a中的a,轉為大寫字母
     * @param xmlStr
     * @return
     */
    public static String firstLabelToUppper(String xmlStr){
        Pattern p = Pattern.compile("\\<[a-z|A-Z]");
        Matcher m = p.matcher(xmlStr);
        StringBuffer sb = new StringBuffer();
        while (m.find())
        { // Find each match in turn; String can't do this.
//String name = m.group(1); // Access a submatch group; String can't do this.
            m.appendReplacement(sb,  m.group().toUpperCase());
           // System.out.println("m.group() is= " + m.group());
        }
        m.appendTail(sb);
        //System.out.println("sb is= " + sb);

        return lastLabelToUppper(sb.toString());
    }

    /**
     * 將<a或者</a中的a,轉為大寫字母
     * @param xmlStr
     * @return
     */
    public static String lastLabelToUppper(String xmlStr){
        Pattern p = Pattern.compile("\\</[a-z|A-Z]");
        Matcher m = p.matcher(xmlStr);
        StringBuffer sb = new StringBuffer();
        while (m.find())
        { // Find each match in turn; String can't do this.
//String name = m.group(1); // Access a submatch group; String can't do this.
            m.appendReplacement(sb,  m.group().toUpperCase());
            //System.out.println("m.group() is= " + m.group());
        }
        m.appendTail(sb);
        //System.out.println("sb is= " + sb);

        return sb.toString();
    }