我的問題:這是非常具體的。我試圖想解析以下文本的最簡單的方法:如何解析name = value ^^ name = value ^^ name = value
^^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;
}
有什麼不妥:
我擔心它會是如果我不得不有點慢/累贅做這個很多。所以我正在尋找任何提示/建議。
我把它['String.split()'](http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String .html#split%28java.lang.String%29)不會漂浮你的船嗎? –
@RobertHarvey'.split()'仍然使用正則表達式,你仍然必須解析出鍵和參數。 – NullUserException
沒關係。只需在'「=」'上重新分割每個分割。 –