私の質問:それは非常に具体的です。次のテキストを解析する最も簡単な方法を考えようとしています。
^^domain=domain_value^^version=version_value^^account_type=account_type_value^^username=username_value^^password=password_value^^type=type_value^^location=location_value^^id=xxx^^cuid=cuid_value^^
毎回そのように表示されます。いくつかの要件:
- これらのキーと値のペアのすべてが毎回表示されるわけではありません。
- それらは異なる順序である可能性があります
私はこのようなコードを探しています:
private String[] getKeyValueInfo(String allStuff) {
String domain = someAwesomeMethod("domain", allStuff);
String version = someAwesomeMethod("version", allStuff);
String account_type = someAwesomeMethod("account_type", allStuff);
String username = someAwesomeMethod("username", allStuff);
String password = someAwesomeMethod("password", allStuff);
String type = someAwesomeMethod("password", allStuff);
String location = someAwesomeMethod("location", allStuff);
String id = someAwesomeMethod("id", allStuff);
String cuid = someAwesomeMethod("cuid", allStuff);
return new String[] {domain, version, account_type, username, password, type, location, id, cuid};
}
私が知らないのは、何someAwesomeMethod(String key, String allStuff)
を含めるべきかということです。
私が考えていたもの:このようなもの:
private String someAwesomeMethod(String key, String allStuff) {
Pattern patt = Pattern.compile("(?i)^^" + key + "=(.*?)^^", Pattern.DOTALL);
Matcher matcher = patt.matcher(allStuff);
if (matcher.find()) {
return matcher.group(1);
}
return null;
}
それのどこが悪いんだい:
これをたくさんやらなければならないのなら、少し遅くて面倒になるのではないかと心配しています。だから私はヒント/提案を探しています。