2012-07-13 4 views
0

임 점점 문자열이 나는이 방법을했지만,이C# 정규식은

"????log L 07/13/2012 - 23:59:21: \"Baobi<1><STEAM_ID_PENDING><>\" connected, address \"72.539.185.197:27005\"\n\0" 

처럼 somethink 문자열에서 이름을 때로는

if (Data.EndsWith("\"")) Data = Data.Substring(0, Data.Length - 1); 
       int start = Data.IndexOf("\""); 
       int end = Data.IndexOf("<"); 
       var val = Data.Substring(start + 1, end - 1 - start); 
       return val; 

여기

에서 Baobi을 얻을 좋은 정규식을 제공하십시오 매우 버그
+4

현재 솔루션이 나에게 완벽하게 맞아 보입니다. 왜 당신은 정규식을 원하니? – Haozhun

+0

좋은 지적, @ 유전자. OP : 문자열이 현재 코드에서 작동하지 않는 몇 가지 예를 보여 주면 정규 표현식을 사용하여 문자열을 처리 할 수 ​​있습니다. –

+0

문자열이 어디서 발생했는지 알지 못합니다. Windows Server 이벤트 뷰어에서 오류 메시지 만 알 수 있습니다. – user525717

답변

2

AFAIK 정상 작동해야합니다.

return Regex.Match(Data, @"""(.+?)<").Groups[1].ToString(); 

아직 버그가있는 경우 문제가있는 문자열의 예와 그 결과 (예 : 예외 세부 정보 또는 실제로 반환 된 문자열).

+1

또는 비슷하게,'Regex.Match (Data, @ ""(. +?) < ")를 반환합니다. Groups [1] .ToString();'. 그곳에는 더 많은 문자 (예 : 숫자)를 허용하는 이점이 있습니다. – Arithmomaniac

+0

감사합니다. –