java split

String中不能使用带‘$’字符作为替换字符。

    String str = "源字aa符串";

        str = str.replaceAll("aa", "需要替换的字符串$");
        /*
         Exception in thread "main" java.lang.IllegalArgumentException: Illegal group reference        
        $需要替换的字符串    需要替换$的字符串
        */
        /*
         Exception in thread "main" java.lang.StringIndexOutOfBoundsException:     String index out of range:         
        需要替换的字符串$
        */

 java.util.regex.Matcher中

public Matcher appendReplacement(StringBuffer sb, String replacement)
else if (nextChar == '$') {
                // Skip past $
                cursor++;

                // The first number is always a group
                int refNum = (int)replacement.charAt(cursor) - '0';
                if ((refNum < 0)||(refNum > 9))
                    throw new IllegalArgumentException(
                        "Illegal group reference");
                cursor++;

                // Capture the largest legal group string
                boolean done = false;
                while (!done) {
                    if (cursor >= replacement.length()) {
                        break;
                    }
                    int nextDigit = replacement.charAt(cursor) - '0';



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值