【发布时间】:2018-05-12 20:09:51
【问题描述】:
我想先用“duration=”分割字符串,然后再分割字符串的剩余部分,下面的代码可以做到这一点。现在我想检查字符串的第二部分是否包含任何逗号(,)并相应地拆分该值
String data = "duration=WEEKLY,MONTHLY";
pattern = Pattern.compile("duration=(\\S*),(\\S*)", Pattern.CASE_INSENSITIVE);
matcher = pattern.matcher(data);
if (matcher.find()) {
System.out.println(matcher.group(2)); //this prints MONTHLY(as it is group(2))
}
我想打印“每周,每月”。如何获取整个字符串?
matcher.toMatchResult() 或 matcher.toString() 返回对象实例。
任何帮助将不胜感激。 谢谢
【问题讨论】:
-
String.split就足够了。首先拆分=然后拆分,第二个单元格(如果有)。获取未知数量值的正则表达式很复杂。您可以使用正则表达式获取“值”部分,然后根据需要拆分它 -
System.out.println(matcher.group(1)); -
"duration=WEEKLY,MONTHLY".split("duration=")[1].split(",");