2010-02-18 1 views

답변

4

이 그것을 어떻게해야 도와주세요 :

result = yourstring.Split(new Char() { " "c}, 2) 

More here. (난 당신이 VB.Net에서 문자 Char 배열을 쓰는 방법이 생각 , 나는 VB의 많은 아니에요. 닷넷에서 내가하는 대부분의 작업은 .Net이 C#입니다.

올바른 문자 리터럴 배열에 대한 잘못된 점이 있다면 알아낼 수 없습니다. 대신 문자열 :

result = yourstring.Split(" ", 2, StringSplitOptions.None) 

자세한 내용은 here입니다.

+1

좋은 제안이지만 문자 리터럴을 사용하려면 Split (""c, 2)이어야합니다. 문자열 리터럴을 사용하는 두 가지 오버로드가 있지만이 서명과 일치하지는 않습니다. –

+0

@jmgant : C#에서 문자 리터럴의 경우 ""다음에 c가 필요할 것입니다. vb.net에서는 T.J. 게시 두 번째 부분에 대한 확실하지, 받아 들일 수있을 것입니다. –

+1

@ 제프, 당신은 그것을 뒤로 잡았다. C#에서는 문자열에 대해 ''및 ''에 해당합니다. VB는 문자열 리터럴에 대해 ""를 사용하고 char 리터럴에 대해 ""를 사용합니다. –

2

숫자를 의미한다고 가정하고 공백을 추가하고 텍스트를 더 많이 사용한다고 가정하면 정규식을 사용하여이를 수행 할 수 있습니다.

Dim input As String = "99 Stack Overflow" 
Dim re As New Regex("^(\d+) (.+)$") 
Dim m As Match = re.Match(input) 
Dim firstPart As String 
Dim secondPart As String 
If m.Success AndAlso m.Groups.Count = 3 Then 
    firstPart = m.Groups(1).ToString() 
    secondPart = m.Groups(2).ToString() 
Else 
    'Do something useful' 
End If 

텍스트, 공백 및 기타 텍스트를 의미하는 경우 정규식은 과도하고 T.J. Crowder의 제안이 더 좋습니다.

+0

나는 텍스트가 변경 되더라도 일치 항목 만 반환된다는 것을 보장하므로 정규식을 개인적으로 허용합니다. –

관련 문제