2012-02-16 3 views
0

2 개의 섹션이 -로 나뉜 문자열이 있습니다. 이 값을 새 페이지에 전달하면 첫 번째 섹션 만 있으면됩니다.문자열 끊기

예 값은 다음과 같습니다 MS 25-25

난 그냥 보여주고 싶은

: MS 25

내가 같이 IndexOf()와 문자열 (보고 오전)하지만 난 얻는 방법을 찾을 수 없습니다 문자열의 시작 부분과 끝 부분을 놓습니다.

+1

어떤 언어? – Blorgbeard

+0

vb.net – cjohnson2136

답변

1

이 도움이 될 : http://www.homeandlearn.co.uk/net/nets7p5.html

는 기본적으로 문자열 방법은이 개 매개 변수를 사용합니다. 시작 위치와 길이.

귀하의 경우, 시작 위치는 0이고 길이는 IndexOf 메소드 -1에 의해 발견 된 위치가됩니다. 예를 들어

:

Dim s as String 
Dim result as String 

s = "MS 25 - 25" 

result = s.SubString(0, s.IndexOf("-")-1) 
+0

이것은 정확히 내가 찾고있는 것입니다. 완벽하게 감사하고, VB는 0 기반이다. – cjohnson2136

1

하이픈에 Split 함수를 사용할 수 있습니다.

.Split("-") 

멀리 Split에서 체류하려는 경우, 당신은 사용할 수 SubString

yourString.Substring(0, yourString.IndexOf("-") - 1) 

편집

에는 하이픈이 전혀이없는 경우 위의 코드는 경우에 실패합니다 또는 하이픈은 문자열의 시작 부분에 있으며 하이픈을 둘러싼 공백이없는 경우에도 전체 선행 하위 문자열이 반환되지 않습니다. 안전을 위해이 사용을 고려 :

Dim pos As Integer 
Dim result As String 

pos = yourString.IndexOf("-") 
If (pos > 0) Then 
    result = yourString.Substring(0, pos) 
ElseIf (pos = 0) Then 
    result = String.Empty 
Else 
    result = yourString 
End If 
+0

을 사용하고 있습니다. 나는 적어도 첫 번째 섹션을 얻으려고 문자열 배열을 만들지 않기 때문에 최소한의 수단으로 사용하려고했습니다. 쉬운 방법이 있다면 차라리 그렇게 할 것입니다. – cjohnson2136

+0

문자열이 하이픈을 포함하지 않으면 문자열 배열의 첫 번째 인덱스가 여전히 표시하려고하는 간단한 이유 때문에이 점이 마음에 들었습니다. – NotMe

+0

문제는 내가 거기에서 당기고 있기 때문에 언제나 하이픈이 될 것임을 알고있다 – cjohnson2136