java 字符串获取表达式#{} 内的字符串 并返回List<string>
时间: 2023-07-16 08:15:57 浏览: 37
可以使用正则表达式来获取字符串中的所有 `#{}` 表达式,并将其存储在一个 `List<String>` 中。
下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "Hello #{name}, your age is #{age}.";
List<String> expressions = getExpressions(input);
System.out.println(expressions);
}
private static List<String> getExpressions(String input) {
List<String> expressions = new ArrayList<>();
Pattern pattern = Pattern.compile("#\\{([^}]+)\\}");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
expressions.add(matcher.group(1));
}
return expressions;
}
}
```
这个例子中,我们定义了一个 `getExpressions` 方法来获取字符串中的所有 `#{}` 表达式。该方法首先创建了一个空的 `List<String>` 来存储表达式。接着,我们定义了一个正则表达式 `#\\{([^}]+)\\}`,用于匹配 `#{}` 表达式。该正则表达式的意思是:匹配以 `#{` 开始,以 `}` 结束的表达式,并将中间的内容存储在一个分组中。然后,我们使用 `Matcher` 对象来查找字符串中的所有匹配项。最后,我们将每个匹配项中的分组内容添加到 `List<String>` 中,并返回该列表。
当然,这只是一个示例代码,你可以根据具体的需求进行修改和优化。