转义 space 并等于字符
Escaping space and equal to character
我正在使用 java 并且具有可以具有多个 space 和等于“=”符号的字符串,如下所示。
String temp = "[name='FPC:CPU']/XM chip/allocate";
此临时字符串将传递给其他一些因 space 和等号而失败的程序。
如何转义 space 和“=”字符?
我想要的原始字符串
[name='FPC:CPU']/XM chip/allocate
to
[name\='FPC:CPU']/XM\ chip/allocate
想知道如何使用 temp.replaceAll
这应该很简单。
System.out.println("foo bar=baz".replaceAll("([ =])" "\\"));
应该打印这个
foo\ bar\=baz
正则表达式中的括号组成一个捕获组,字符class[ =]
将捕获空格和等号。
在替换表达式中,
指的是第一个捕获组。唯一有点棘手的是转义反斜杠。
通常,在正则表达式替换中,反斜杠本身就是一个转义字符。所以你需要两个一起插入一个反斜杠,然而反斜杠也是Java字符串中的一个转义符,所以将两个反斜杠放入Java 字符串(形成正则表达式转义),必须插入四个反斜杠。这就是你最终得到 "\\$1".
的方式
我正在使用 java 并且具有可以具有多个 space 和等于“=”符号的字符串,如下所示。
String temp = "[name='FPC:CPU']/XM chip/allocate";
此临时字符串将传递给其他一些因 space 和等号而失败的程序。
如何转义 space 和“=”字符?
我想要的原始字符串
[name='FPC:CPU']/XM chip/allocate
to
[name\='FPC:CPU']/XM\ chip/allocate
想知道如何使用 temp.replaceAll
这应该很简单。
System.out.println("foo bar=baz".replaceAll("([ =])" "\\"));
应该打印这个
foo\ bar\=baz
正则表达式中的括号组成一个捕获组,字符class[ =]
将捕获空格和等号。
在替换表达式中, 指的是第一个捕获组。唯一有点棘手的是转义反斜杠。
通常,在正则表达式替换中,反斜杠本身就是一个转义字符。所以你需要两个一起插入一个反斜杠,然而反斜杠也是Java字符串中的一个转义符,所以将两个反斜杠放入Java 字符串(形成正则表达式转义),必须插入四个反斜杠。这就是你最终得到 "\\$1".
的方式