2013-05-09 3 views
0

다음과 같은 문자열이 있습니다.RegEx를 사용한 문자열 구문 분석

X:= FMLVAR("Function1", "Var1"); 

위의 문자열을 구문 분석하고 2 개의 인수 ("Funtion1"및 "Var1")를 얻으 려합니다. FMLVAR은 2 개의 문자열을 인수로 받아들이는 함수입니다.

현재 위의 문자열을 처리하고 이러한 인수를 제거하기 위해 IndexOf 및 하위 문자열과 같은 문자열 조작 함수를 사용하고 있습니다.

더 좋은 방법이 있나요? 아마도 정규식을 사용하고있을 것입니다.

모든 조언을 주시면 감사하겠습니다.

감사

앨런

+0

당신은 당신의 현재 코드를 표시 할 수 있습니다,하지만 난 그것을 정규식을 사용하는 것보다 더 나은 것 같아요. – Habib

+0

일반적인 의미에서이 작업을 수행하려는 경우 파서를 작성하고 사용하는 것이 좋습니다. – Patashu

답변

1

이 같은 시도 :

var s = "X:= FMLVAR(\"Function1\", \"Var1\");"; 

var match = new Regex(@"FMLVAR\(""(.+?)"", ""(.+?)""\);").Match(s); 

var arg1 = match.Groups[1]; 
var arg2 = match.Groups[2]; 
+0

공백을 추가하거나 제거 할 수 없습니다. –