2012-09-14 6 views
0

나는 REST 쿼리 문자열 문자열을 가지고 있고 그것이 내가에 유래에 here을 게시 정규식 클래스를 사용하고이정규 표현식 사용

//new_requestSet?$select=new_ExternalStatus,new_name&$filter=new_ExternalStatusDirty eq true 

것 같습니다. 위의 입력 문자열에서 일부 위치를 찾는 것이 효과적이지만 필요한 실제 값을 추출하는 코드가 비효율적이라고 생각합니다. regex를 IndexOf와 SubString 대신에 사용하는 것이 더 효율적인 방법이 있습니까?

int fieldPos = StringExtender.NthIndexOf(json, "filter=", 1); 
      int firstSpace = StringExtender.NthIndexOf(json, " ", 1); 
      int secondSpace = StringExtender.NthIndexOf(json, " ", 2); 
      int entityPosEnd = StringExtender.NthIndexOf(json, @"\Set", 1); 
      int searchFieldStart = StringExtender.NthIndexOf(json, "=", 2); 
      string searchField = json.Substring(searchFieldStart + 1, firstSpace - searchFieldStart - 1); 
      string criteria = json.Substring(secondSpace+1); 
      string entity = json.Substring(0, entityPosEnd); 
+0

감사합니다. Bob 좋은 제안, 나는 눈치 채지 못했습니다. – GoBeavs

답변

0

당신은 "&"처음하여 문자열을 침 및 매개 변수의 이름/값 쌍
그런 다음 "="각 쌍의 두 번째 분할을 받고 매개 변수 이름/값의 고유 한 값을받을 수 있습니다.

작성해야 할 코드가 조금 있지만 정규식은 전혀 없습니다.