`
zhangjim
  • 浏览: 52715 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

String.replaceAll和java.lang.IllegalArgumentException: Illegal group reference

阅读更多

String replaceAll(regex, replacement)函数,由于第一个参数支持正则表达式,replacement中出现“$”,会按照$1$2的分组模式进行匹配,当编译器发现“$”后跟的不是整数的时候,就会抛出“非法的组引用”的异常。

 

所以我们在使用replaceAll(regex, replacement)函数的时候要特别小心。如果replacement 中的字符含有"$"的话,就需要对它里面的“$”字符进行转义处理。

 

参考代码:

public class Test {
	public static void main(String[] args) {
		String keyword = "a$b";
		String url = "www.baidu.com?user=keyword";
		String newURL = url.replaceAll("keyword", keyword.replaceAll("\\$", "\\\\\\$"));
		System.out.println(newURL);
	}
}

 

 

分享到:
评论

相关推荐

    String.prototype.replaceAll:适用于String.prototype.replaceAll ESnext提案的符合规范的polyfill

    string.prototype.replaceall 用于String.prototype.replaceAll的ES Proposal规范填充程序。 如果不可用或不String.prototype.replaceAll调用其“ shim”方法对String.prototype.replaceAll进行填充。 该软件包...

    java替换html特殊字符工具类

    htmlStr =htmlStr.replaceAll("∀", "∀"); htmlStr =htmlStr.replaceAll("∂", "∂"); htmlStr =htmlStr.replaceAll("&exists;", "∃"); htmlStr =htmlStr.replaceAll("∅", "∅"); htmlStr...

    Java replaceAll()方法报错Illegal group reference的解决办法

    总结一下,当在Java的`replaceAll()`方法中遇到`Illegal group reference`错误时,你应该检查替换字符串是否含有未定义的组引用。可以使用`Matcher.quoteReplacement()`方法对特殊字符进行转义,或者手动替换特殊...

    String.replaceAll方法详析(正则妙用)

    在Java编程语言中,`String.replaceAll`方法是一个非常强大的工具,尤其当结合正则表达式使用时,可以实现复杂的文本处理。本文将深入探讨`String.replaceAll`方法的使用及其背后的正则表达式分组概念。 首先,`...

    JS中实现replaceAll的方法(实例代码)

    文章接着介绍了如何自定义一个replaceAll函数,这个函数利用了String对象的原型,通过扩展String原型来添加replaceAll方法,使其成为String对象可以调用的新方法。这个自定义的replaceAll方法不仅考虑了正则表达式和...

    org.apache.commons.lang3.StringUtils.jar.rar

    Apache Commons Lang 是一个由 Apache 软件基金会开发的 Java 类库,它提供了一系列实用工具类,用于增强 JDK 内置的 String 类的功能。在给定的标题 "org.apache.commons.lang3.StringUtils.jar.rar" 中,我们可以...

    字符串string.zip

    它们由`java.lang.String`类表示,提供了丰富的操作方法,如`length()`用于获取字符串长度,`charAt(int index)`用于访问特定位置的字符,以及`substring(int beginIndex, int endIndex)`用于截取子字符串。...

    javastringreplaceALL()用法.pdf

    ### Java中的`String.replaceAll()`方法详解 #### 一、引言 `String.replaceAll()`方法是Java编程语言中用于字符串操作的一个强大工具。该方法允许开发者使用正则表达式来进行模式匹配,并通过替换来修改字符串中的...

    Java中replace、replaceAll和replaceFirst函数的用法小结

    Java中的`replace`、`replaceAll`和`replaceFirst`是字符串操作中常见的方法,用于替换字符串中的特定子串。它们都是`String`类的方法,但各自有不同的行为和用途。 1. `replace(CharSequence target, CharSequence...

    String manipulation operations in java.zip

    下面我们将详细探讨Java中字符串的基本操作和`underscore.string`库的使用。 1. **Java String类基础** Java中的字符串是不可变对象,这意味着一旦创建了字符串对象,就不能更改它的值。`String`类提供了许多内置...

    js实战之全部替代一个子串为另一个子串.pdf

    在ESNext中,引入了新的String.prototype.replaceAll()方法,该方法可以实现全量字符串替换。例如: `const s = 'hello. hello. hello.';` `s.replaceAll('hello. ', 'A');` 该方法的优点是可以实现全量替换,不...

    commons-lang3-3.5-bin

    Apache Commons Lang 是一个 Java 库,它提供了一系列高级和实用的工具类,补充了 Java 核心库中未涵盖的功能。这个"commons-lang3-3.5-bin"压缩包包含了 Lang 组件的版本 3.5,它是 Apache Commons 项目的一部分,...

    Java探索之string字符串的应用代码示例

    Java探索之string字符...本文主要介绍了Java探索之string字符串的应用代码示例,包括indexOf方法、实现startsWith和endsWith功能、采用字符的移位方式实现字符文本加密解密等知识点,对Java开发者具有一定的参考价值。

    java 16进制表示的字符串转换为字节数组 工具类

    * 16进制表示的字符串转换为字节数组 * @param hexString 16进制表示的字符串 * @return byte[] 字节数组 */ public static byte[] hexStringToByteArray(String hexString) { hexString = hexString.replaceAll(" ...

    java去除空格、标点符号的方法实例.docx

    在Java中,去除标点符号可以使用replaceAll()方法和正则表达式。 1. 使用replaceAll()方法去除标点符号 可以使用正则表达式 `\p{Punct}` 匹配标点符号,并使用replaceAll()方法去除标点符号。例如: ```java ...

    Js 回车换行处理的办法及replace方法应用

    js里没有replaceAll的函数,需要我们自定义 代码如下: String.prototype.replaceAll = function(s1,s2){ return this.replace(new RegExp(s1,”gm”),s2); } 2、使用js的replace进行处理 代码如下: str=str....

    Java的 String 类常用方法大全

    Java 中的 String 类提供了三种方法来实现字符串的替换,分别是 replace、replaceAll 和 replaceFirst。 1. replace 方法 replace 方法将字符串中所有出现的 oldChar 字符串替换为 newChar 字符串。如: String ...

    477.475.JAVA基础教程_常用类-String课后算法题目3(477).rar

    这个"477.475.JAVA基础教程_常用类-String课后算法题目3(477).rar"文件很可能是一个Java基础教学资料,特别关注了String类的使用以及相关的算法实践。String类在Java中扮演着核心角色,因为处理文本数据时我们经常...

Global site tag (gtag.js) - Google Analytics