String TextValue = "hello{MyVar} Discover {MyVar2} {MyVar3}";
String[] splitString = TextValue.split("\\{*\\}");
我在[{MyVar, {MyVar2, {MyVar3]
splitString
但我的要求是保留这些分隔符{}
,即[{MyVar}, {MyVar2}, {MyVar3}]
。
需要一种匹配上述输出的方法。
答案 0 :(得分:3)
使用类似的东西:
Pattern p = Pattern.compile("(\\{\\w+\\})");
String str = ...
Matcher m = p.matcher(str);
while(m.find())
System.out.println(m.group(1));
请注意,上面的代码未经测试,但会查找大括号内的单词并将它们放在一个组中。然后它将遍历字符串并输出与上面的表达式匹配的任何字符串。
正则表达式的示例可用here。
答案 1 :(得分:0)
谢谢kelvin& npinti。
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class CreateMatcherExample {
public static void main(String[] args) {
String TextValue = "hello{MyVar} Discover {My_Var2} {My_Var3}";
String patternString = "\\{\\w+\\}";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(TextValue);
while(matcher.find()) {
System.out.println(matcher.group());
}
}
}