2014-07-09 4 views
-1

listbox에서 특정 문자를 가져오고 싶지만 올바르게 처리하는 방법을 모르겠습니다. 나는 이미 검색을 사용했는데 (이름을 지정하는 방법을 잘 모르기 때문에 시도했지만) 아무 것도 얻지 못했습니다. 그래서VB.net 목록 상자에서 특정 문자 가져 오기

난 내 목록 상자에서이 라인을 가지고 :

1,2014-01-01,Text,Text,XYZ123,Text,Text 

어떻게 난 단지 XYZ123을 얻을 필요합니까? 그것의 항상 동일한 형식, 3 개의 문자와 3 개의 숫자.

감사합니다.

+0

는 정규식을 사용합니다. 깨끗하고 쉬운 http://regexr.com/394hj – HengChin

+0

목록 상자에서 텍스트에 액세스하거나 문자열에서 하위 문자열을 추출하는 데 문제가 있습니까? – sloth

답변

0

가 나는 Regular Expression

XYZ123의 정규식 = \w{3}\d{3}

을 사용 "**"에 분할 얻을 수있는 동일한 전체 형식이있는 경우

최초의 솔루션 : 작은 콘솔 응용 프로그램을 기반으로 :

Dim i As String = "1,2014-01-01,Text,Text,**XYZ123**,Text,Text" 
    For Each Str As String In i.Split(",") 
     Dim match As Match = Regex.Match(Str, "\w{3}\d{3}") 
     If match.Success Then 
      Console.WriteLine(Str) 
     End If 
    Next 

    Console.ReadLine() 
,363,210

둘째 (더 나은) 솔루션 : Chinz의 의견을 바탕으로

(모든 크레딧이 그에게 속한)

Dim i As String = "1,2014-01-01,Text,Text,**XYZ123**,Text,Text" 
    Console.WriteLine(Regex.Match(i, "\w{3}\d{3}").Value) 
    Console.ReadLine() 
+0

'([A-Z] [A-Z] [\ d] [\ d] [\ d]) 대신'\ w {3} \ d {3} – sloth

+0

Regex와 잘 맞지 않을 수 있습니다. 직접 테스트 할 것입니다. Thnx 비록 – User999999

+0

당신이 정말로 정규식을 사용하는 경우 값을 분할해야합니까? 추가 작업. – HengChin

0

모든 문자열을 사용하면 [1]에서 plitted

+0

문자열에 '*'문자가 없습니다. 그것은 포맷팅 사고였습니다. – sloth

+0

","다음에 나눌 수 있습니까? – dwana

+0

물론, 왜 ... – sloth

관련 문제