java - 如何从字符串中提取变量

标签 java variables configuration properties

我正在寻找一个 Java 类,它针对给定的字符串“${animal} jumped over the ${target}”。能够提取变量名称,即“动物”和“目标”。

我曾希望StrSubstitutor在 Commons Lang 中有一个方法
getVariables(String str) : List<String>
...但没有这样的运气。

是的,我可以自己写这个,但我确信一定有一个第三方库可以做到这一点。

最佳答案

如果你真的只想提取这些值并避免整个库的依赖性,你可以做一个简单的正则表达式匹配:

public List<String> getVariableNames(String source) {
  List<String> vs = new ArrayList<String>();
  Pattern p = Pattern.compile("\\$\\{(\\w+)\\}");
  Matcher m = p.matcher(source);
  while (m.find()) {
    vs.add(m.group(1));
  }
  return vs;
}

将模式存储为成员变量将提高性能。

关于java - 如何从字符串中提取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6210127/

相关文章:

javascript - 自动创建 Javascript 对象并将其存储在另一个对象中

java - 如何将 BLOB 数组传递给存储的 oracle 过程?

Java 异常 : New BMP version not implemented yet

python - 如何在json文件中写入变量?

java - 如何配置 logback 以创建具有服务器名称的日志文件名

python - 属性错误 : 'Settings' object has no attribute 'ROOT_URLCONF' on Heroku

mod-rewrite - httpd/Apache。 PHP。 mod_rewrite。软呢帽 17

java - 我做的不正确或理解 Android 上的双缓冲吗?

java - Hazelcast内部共享f分布式 map

variables - Fortran 中的主机关联与使用关联