2011-12-14 2 views
1

API 반환 문자열을 특정 값을 할당 : "error=OK\neta=2 - 3 Days\nprice=24.18"문자열을 구문 분석하고 다음과 같이 변수에

난 그냥 "nprice=" 후 값을 선택할 수 있습니다 start/stop 지수 또는 구분 기호, 문자와 단어의 배열로 분할 모든 것을 문자열을 사용하여 외에도 및 "neta="에서에 바로 "

+2

사용 정규식. 그렇게하면 단순해질 것입니다. – Kangkan

+0

delimns에서 분리하는 것은 매우 간단합니다 ... 왜 그렇게 좋지 않습니까? – bryanmac

답변

3

당신은 문자열의 목록을 얻으려면 yourString.Split(new[] { @"\n" }, StringSplitOptions.None)을 사용할 수

을하지만, 내 취향이 될 것이다 사전에이를 켭니다 ("\ "전) :.

var yourString = @"error=OK\neta=2 - 3 Days\nprice=24.18"; 
var lookup = (from sub in yourString.Split(new[] { @"\n" }, StringSplitOptions.None) 
       let parts = sub.Split(new[] { '=' }, 2) 
       select parts).ToDictionary(p => p[0], p => p[1]); 

당신은 다음과 같이이를 사용합니다 :

var error = lookup["error"]; 
var eta = lookup["eta"]; 
var price = Convert.ToDecimal(lookup["price"]); 

Console.WriteLine("Error Code: {0}, ETA: {1}, Price: {2:C}", error, eta, price); 
관련 문제