我有一个这样的字符串:
String str = ${farsiName} - {symbolName}
我想使用split方法来查找和提取 farsiName &带有正则表达式的此字符串中的 symbolName 。 我找到了这样的解决方案https://stackoverflow.com/a/4006273/2670847来做这样的事情:
String in = "Item(s): [item1.test],[item2.qa],[item3.production]";
Pattern p = Pattern.compile("\\[(.*?)\\]");
Matcher m = p.matcher(in);
while(m.find()) {
System.out.println(m.group(1));
}
但我想知道,我可以在String类中使用类似的regex for split方法吗?
答案 0 :(得分:0)
你走在正确的轨道上。只需更换括号和字符串。
String n ="${farsiName} - {symbolName}";
Pattern p = Pattern.compile("\\{(.*?)\\}");
Matcher m = p.matcher(n);
while(m.find()) {
System.out.println(m.group(1));
}
答案 1 :(得分:0)
注意:我不建议这样做。正则表达式将更加通用,功能强大。
String n ="${farsiName} - {symbolName}";
String s[] = n.split(" - ");
for(String x : s){
System.out.println(x.replace("$", "").replace("{", "").replace("}", ""));
}
答案 2 :(得分:0)
public static void main(String[] args){
String n ="${farstName} - {symbolName}";
String arr[] = n.split(" - ");
for(String s : arr){
System.out.println(s.replace("$", "").replace("{", "").replace("}", ""));
}
}
使用此代码。它会工作。但我推荐正则表达式。