私は以下のような文字列を持っており、以下のようにパラメータ(TransactionType、ServiceID、PaymentID、OrderNumber、Amount)を分割します。Javaの動的文字列を分割します
String response = "TransactionType=SALE&ServiceID=TV3&PaymentID=PYID2016061501417701&OrderNumber=2016061501417701&Amount=235.00"
String splitParams[] = res.split("&");
String TransactionType = splitParams[0].substring(splitParams[0]
.indexOf("=") + 1);
String ServiceID = splitParams[1].substring(splitParams[1]
.indexOf("=") + 1);
String PaymentID = splitParams[2].substring(splitParams[2]
.indexOf("=") + 1);
String OrderNumber = splitParams[3].substring(splitParams[3]
.indexOf("=") + 1);
String amount = splitParams[4].substring(splitParams[4]
.indexOf("=") + 1);
しかし、問題は、これらのパラメータを順番に送られていないと、時々、いくつかのパラメータが送信されませんです。パラメータ名に基づいてJavaを使用して文字列のパラメータを分割する方法はありますか?
Map<String, String> responseMap = Splitter.on("&")
.omitEmptyStrings()
.trimResults()
.withKeyValueSeparator("=")
.split(response);
をそして、あなたはそのような値を得ることができます::
なぜあなたは 'Map'を代わりに作成しませんか? – Kayaman
私が理解しているように、あなたはURLフラグメントを持っています。私はあなたがここで多くの答えを見つけることができると思う:http://stackoverflow.com/questions/13592236/parse-a-urststring-into-name-value-collection、それらのほとんどはURLを扱うが、パラメータ部分のみに – Adomas