내 질문 : 매우 구체적입니다. 다음 텍스트를 구문 분석하는 가장 쉬운 방법을 생각하려고합니다.이름 = 값을 파싱하는 방법 ^^ 이름 = 값 ^^ 이름 = 값
^^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
괜찮습니다. ' "="'를 통해 각 분할을 다시 분할하십시오. –