java 提取${}中的值
时间: 2023-11-01 08:17:36 浏览: 41
如果您想要从一个字符串中提取出所有 `${}` 中的值,可以使用正则表达式来进行匹配和提取。具体来说,可以使用 `Pattern` 和 `Matcher` 来实现。
以下是一个示例代码:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ExtractValueInBraces {
public static void main(String[] args) {
String input = "Hello ${name}, welcome to ${city}!";
Pattern pattern = Pattern.compile("\\$\\{([^}]*)\\}");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
String valueInBraces = matcher.group(1);
System.out.println(valueInBraces);
}
}
}
```
运行结果:
```
name
city
```
在上面的示例中,我们首先定义了一个字符串 `input`,其中包含了两个 `${}` 中的值。接着,我们使用 `Pattern.compile` 方法来编译一个正则表达式,该正则表达式可以匹配 `${}` 中的值,并将其中的值提取出来。然后,我们使用 `Matcher` 对象来匹配 `input` 字符串,并使用 `while` 循环来遍历所有匹配的结果。对于每一个匹配到的结果,我们可以使用 `matcher.group(1)` 方法来获取其中的值,并将其打印出来。
需要注意的是,在正则表达式中,`${}` 中的值需要使用反斜杠进行转义,即 `$\\{([^}]*)\\}`。这个正则表达式中,`\\$` 匹配 `$` 符号,`\\{([^}]*)\\}` 匹配括号中的内容,并将其中的值提取出来。其中,`[^}]` 表示不匹配 `}` 符号,`*` 表示匹配任意数量的字符。
希望这能够帮助到您。