java实现:字符串中的变量取出来,放到list中,字符串中${}中存储的是变量名称。
时间: 2024-09-29 11:10:02 浏览: 40
在Java中,如果你想从一个字符串中提取 `${}` 中的变量名,并将它们放入一个 List 中,你可以使用正则表达式和流(Stream)处理。下面是一个简单的示例:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
String input = "Hello, ${name}, today is ${day}.";
// 使用正则表达式匹配 `${}` 符号之间的变量名
String regex = "\\$\\{([^}]*)\\}";
List<String> variableNames = Arrays.asList(input.split(regex))
.stream()
.filter(s -> !s.isEmpty()) // 过滤掉空字符串,如`${}`
.map(pattern -> pattern.substring(2, pattern.length() - 1)) // 提取出变量名,去掉`{}`符号
.collect(Collectors.toList());
System.out.println("Variable names: " + variableNames);
}
}
```
在这个例子中,我们首先使用 `split(regex)` 将输入字符串按 `${}` 分割成片段,然后过滤出非空的部分,再使用 `map` 函数去掉开始和结束的 `}`,最后收集到一个 List 中。
阅读全文