2013-10-30 4 views
0

나는이 문자열이 "Raw : 463 -22 -17Raw : 463 -22 -17Raw :"이지만, 단지 "463 -22 -17"등을 원한다. 기본적으로 숫자 값이다. 어떻게 문자열에서 추출합니까? 그건 그렇고, 첫 번째 숫자와 두 번째 숫자 사이에는 3 칸, 두 번째 숫자와 세 번째 숫자는 똑같습니다. 그러나 세 번째 숫자와 다음 숫자 사이에는 공백이 없습니다. 이 패턴은 계속 반복됩니다. 도와주세요. 미리 감사드립니다. 환호!vb.net에서 문자열에서 값을 추출하는 방법은 무엇입니까?

+1

당신이 우리에게 보여줄 수 코드의 일부? 정규식 일치 또는 하위 문자열 시리즈를 대체 할 수 있습니다. –

+0

스팅 분할 함수를 사용할 수 있습니다 ... – matzone

답변

0

REPLACE를 사용할 수 있습니다.

 Dim x As String = "Raw: 463 -22 -17Raw: 463 -22 -17Raw:" 
    x = Replace(x, "Raw: ", " ") '<-I added an empty space as replacement, but you can use whatever you like. 
    MsgBox(x) 
0

이 시도 :

Dim values = text.Split(_ 
    New String() { "Raw:" }, _ 
    StringSplitOptions.RemoveEmptyEntries) 

를 샘플 데이터에서 당신이 얻을 :

result

당신은 당신이 할 수있는 정수로 모든 값을 얻고 싶은 경우에 :

Dim values = _ 
    From numbers in text.Split(_ 
     New String() { "Raw:" }, _ 
     StringSplitOptions.RemoveEmptyEntries) _ 
    Select numbers.Split(_ 
     New Char() { " "c }, _ 
     StringSplitOptions.RemoveEmptyEntries) _ 
      .Select(Function (x) Integer.Parse(x)) 

그리고 당신 제공은 :

result 2

+0

왜 원시 : "'대신 새 문자열() {"원시 : "}"입니까? – RBarryYoung

+1

@RBarryYoung - 문자열을 사용하는 오버로드가 없습니다. – Enigmativity

+0

맞아, 나는 .Net'String.Split (..) 버전이 얼마나 엉망인지 잊어 버렸다. 내장 된 VB Split (..) 함수는 그 문제가 없습니다. – RBarryYoung

관련 문제