-2
Map<String, String> fieldMap = new HashMap<String, String>();
String strTest1 = "Q1 = '1PAaEaO5Js+zUErWe1Ns8fR==' and q2 = 'v21PAaEaO5Js+zUErWe1Ns8fR='";
String strTest2 = "Q1='1PAaEaO5Js+zUErWe1Ns8fR==' and q2='v21PAaEaO5Js+zUErWe1Ns8fR='";
String[] output = input.split("\\s+and\\s+");
for(String s:output){
String [] params = s.split("=");
String key = params[0].trim();
String value = params[1].trim();
fieldMap.put(key, value.substring(1, value.length()-1));
}
System.out.println(fieldMap);
私は上記の例を試してみましたが、strTest1でも問題ありません。 しかし、それはstrTest2のために解析していません。分割文字列の正規表現
期待出力:{Q1 = 1PAaEaO5Js + zUErWe1Ns8fR ==、 Q2 = v21PAaEaO5Js + zUErWe1Ns8fR =}
我々はによって分割されているよう=しかし、値
から排除されるべきではありませんありがとう
ここで問題は何ですか? – f1sh
問題は、String [] params = s.split( "\\ s + = \\ s");を使用する場合です。最初のテスト文字列は渡されますが、2番目の文字列は渡されません。 – user2519513
strTest1とstrTest2の両方が – user2519513