我有一个字符串测试,在其中可以看到VD1和VD2。
如何提取VD1和VD2的值并将其存储在字符串中。

String test =
  "DomainName=xyz.zzz.com
   &ModifiedOn=03%2f17%2f2015
   &VD1=MTMwMDE3MDQ%3d
   &VD2=B67E48F6969E99A0BC2BEE0E240D2B5C
   &SiteLanguage=English"


此处的VD1=MTMwMDE3MDQ%3dVD2=B67E48F6969E99A0BC2BEE0E240D2B5C值。但是这些是动态值。 VD1和VD2在此处以'&'分隔。

最佳答案

试试这样的正则表达式:

public static void main(String[] args) throws Exception {
    String test = "DomainName=xyz.zzz.com&ModifiedOn=03%2f17%2f2015&VD1=MTMwMDE3MDQ%3d&VD2=B67E48F6969E99A0BC2BEE0E240D2B5C&SiteLanguage=English";
    Pattern p = Pattern.compile("VD1=(.*)&VD2=(.*)&");
    Matcher m = p.matcher(test);
    while(m.find()){
        System.out.println(m.group(1));
        System.out.println(m.group(2));
    }

}


O / P:

MTMwMDE3MDQ%3d
B67E48F6969E99A0BC2BEE0E240D2B5C

08-07 10:49