当前位置: 首页 > 面试题库 >

如何替换字符串中的括号

姬俊远
2023-03-14
问题内容

我有一个包含标记的字符串列表。
令牌是:

{ARG:token_name}。

我也有标记的哈希图,其中key是标记,value是我要用来替换标记的值。

当我使用“ replaceAll”方法时,出现错误:

java.util.regex.PatternSyntaxException:非法重复

我的html" target="_blank">代码是这样的:

myStr.replaceAll(valueFromHashMap , "X");

并且valueFromHashMap包含{和}。

我将此哈希图作为参数。


问题答案:

正如其他人已经说过的那样,{模式中}也使用了特殊字符。您必须对其进行转义以避免任何混乱。

手动转义这些符号可能很危险(您可能会省略其中一个,使您的模式完全错误),并且很繁琐(如果您有很多特殊字符)。解决此问题的最佳方法是使用Pattern.quote()

资源:

  • Oracle.com-JavaSE教程-正则表达式


 类似资料:
  • 如何删除字符串中任意位置的圆括号?

  • 我希望我的程序替换输入字符串中的每个元音。

  • 问题内容: 我有一个字符串: 我要删除paren内部和paren本身中的所有内容,仅保留: 我试图用正则表达式来做到这一点,但是我的困难在于这种模式: 当我使用它时,它总是给我一个。如何修复我的正则表达式? 问题答案: 由于括号是正则表达式中的特殊字符,因此您需要对其进行转义以明确匹配它们。 例如:

  • 问题内容: 我正在使用一个喜欢: 我使用的是哪里。这行代码对我不起作用。我想知道自己在做什么错? 问题答案: 尽管看起来可能存在一些语法问题,但是代码看起来或多或少还可以。这是一个工作示例:

  • 假设我有一个字符串,如下所示: 我想把“abcd”换成“dddd”。我曾试图做这样的事: 它不起作用。有什么建议吗? 编辑:更具体地说,我在Java工作,我试图解析超文本标记语言文档,具体地说

  • 示例:[可爱]微笑这是测试[笑哭] 目的:将这个字符串中所有中括号表示的文字替换为emoji