欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java replaceAll()方法報錯Illegal group reference的解決辦法

 更新時間:2020年09月02日 10:14:23   作者:java小強(qiáng)  
這篇文章主要給大家介紹了關(guān)于Java replaceAll()方法報錯Illegal group reference的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

replaceAll(regex, replacement)函數(shù),由于第一個參數(shù)支持正則表達(dá)式,replacement中出現(xiàn)“$”,會按照$1$2的分組模式進(jìn)行匹配。

當(dāng)編譯器發(fā)現(xiàn)“$”后跟的不是整數(shù)的時候,就會拋出“非法的組引用”的異常。

例如,如下代碼會報錯:

public class Test {
	public static void main(String[] args) {
		String str = "123ABC456";
		String re = "#7T$/#";
		System.out.println(str.replaceAll("ABC", re));
	}
}

報錯內(nèi)容:

Exception in thread "main" java.lang.IllegalArgumentException: Illegal group reference
 at java.util.regex.Matcher.appendReplacement(Unknown Source)
 at java.util.regex.Matcher.replaceAll(Unknown Source)
 at java.lang.String.replaceAll(Unknown Source)
 at cn.com.vogue.Test.main(Test.java:6) 

解決辦法:

一個是JDK提供的方法,對特殊字符進(jìn)行處理:

對要替換的字符做處理代碼如下:

re = java.util.regex.Matcher.quoteReplacement(re);

把特殊字符轉(zhuǎn)為特定字符,然后交給接收方處理:

例如將$替換為{ZF4}},當(dāng)然,如果是一家公司做還可以:

String[] strArr = ex.split("\\$");
StringBuffer sb = new StringBuffer();
for(int i=0;i<strArr.length-1;i++){
 sb = sb.append(strArr[i]).append("{ZF4}");
}
sb.append(strArr[strArr.length-1]);
ex = sb.toString();

總結(jié)

到此這篇關(guān)于Java replaceAll()方法報錯Illegal group reference的解決辦法就介紹到這了,更多相關(guān)Java replaceAll()方法報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于SpringBoot在有Ajax時候不跳轉(zhuǎn)的問題解決

    關(guān)于SpringBoot在有Ajax時候不跳轉(zhuǎn)的問題解決

    最近在使用Ajax來發(fā)送一些數(shù)據(jù)給后臺一個Controller,但是遇到些問題,所以下面這篇文章主要給大家介紹了關(guān)于SpringBoot在有Ajax時候不跳轉(zhuǎn)問題的解決辦法,需要的朋友可以參考下
    2022-05-05
  • 基于Java實現(xiàn)Actor模型

    基于Java實現(xiàn)Actor模型

    Actor模型是一種常見的并發(fā)模型,與最常見的并發(fā)模型—共享內(nèi)存(同步鎖)不同,它將程序分為許多獨(dú)立的計算單元—Actor,文中有詳細(xì)的代碼示例,感興趣的同學(xué)可以參考閱讀
    2023-05-05
  • 解決JavaEE開發(fā)中字符編碼出現(xiàn)亂碼的問題

    解決JavaEE開發(fā)中字符編碼出現(xiàn)亂碼的問題

    下面小編就為大家?guī)硪黄鉀QJavaEE開發(fā)中字符編碼出現(xiàn)亂碼的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Spring?@Conditional通過條件控制bean注冊過程

    Spring?@Conditional通過條件控制bean注冊過程

    這篇文章主要為大家介紹了Spring?@Conditional通過條件控制bean注冊過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • java根據(jù)本地IP獲取mac地址的方法

    java根據(jù)本地IP獲取mac地址的方法

    這篇文章主要為大家詳細(xì)介紹了java根據(jù)本地IP獲取mac地址的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • java開發(fā)AOP面向切面編程入門

    java開發(fā)AOP面向切面編程入門

    這篇文章主要介紹了java開發(fā)的AOP面向切面編程入門的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步學(xué)有所得
    2021-10-10
  • SpringCache常用注解及key中參數(shù)值為null問題解析

    SpringCache常用注解及key中參數(shù)值為null問題解析

    這篇文章主要介紹了SpringCache常用注解及key中參數(shù)值為null的問題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Java定時任務(wù):利用java Timer類實現(xiàn)定時執(zhí)行任務(wù)的功能

    Java定時任務(wù):利用java Timer類實現(xiàn)定時執(zhí)行任務(wù)的功能

    本篇文章主要介紹了利用java Timer類實現(xiàn)定時執(zhí)行任務(wù)的功能,具有一定的參考價值,有需要的可以了解一下。
    2016-11-11
  • 詳解Java中的有參構(gòu)造方法與無參構(gòu)造方法

    詳解Java中的有參構(gòu)造方法與無參構(gòu)造方法

    這篇文章主要詳細(xì)介紹了Java中有參構(gòu)造方法與無參構(gòu)造方法,文中有詳細(xì)的代碼示例,讓大家清晰明了的了解到有參構(gòu)造方法與無參構(gòu)造方法、以及應(yīng)用,需要的朋友可以參考下
    2023-06-06
  • java 1.8 動態(tài)代理源碼深度分析

    java 1.8 動態(tài)代理源碼深度分析

    下面小編就為大家?guī)硪黄猨ava 1.8 動態(tài)代理源碼深度分析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論