2012-04-30 5 views
13

첫 번째 공백에서 문자열을 분할하려고 하 고 두 번째 절반 만 유지하려고합니다. 따라서 입력이 "1. 철강 상단"인 경우 출력은 "철강 상단"이됩니다. 나는 여기에서 몇 가지 다른 예제로 작업 중이며 작동하지 않습니다. 생각? 감사.첫 번째 공백에서 문자열 분할

+3

'string secondHalf = myString.Split (new char [] ', 2) [1];'배열의 최대 크기로 Split 메서드를 사용하십시오. – BenVlodgi

답변

27
var myString = "1. top of steel"; 
var newString = myString.Remove(0, myString.IndexOf(' ') + 1); 
1

당신은 할 수 :

string myString = "1. top of steel"; //replace this with the input 
string resultString = myString.IndexOf(' ') > -1 
    ? myString.Substring(myString.IndexOf(' ') + 1) 
    : myString; 
+0

splitString은 배열이어야하며, 그렇다고하더라도 첫 번째 공간뿐만 아니라 각 공간에서 분할되기 때문에'myNewString'이'top'이됩니다. – jzworkman

+0

Split 결과를 저장하려면 배열이 필요합니다. 또한 입력에 둘 이상의 공백이 포함되어 있으면 올바르게 작동하지 않습니다. – Attila

+1

이 코드는 작동하지 않으며 버그가 너무 많습니다. 1) splitString은 배열이어야합니다. 2) 스플릿 함수는 매개 변수로 배열을 필요로합니다. 3) 첫 번째 2 점이 무시되는 경우에도 첫 번째 인덱스의 요소 만 반환하고 나머지 문자열은 반환하지 않습니다. –

3

그냥 다음과 같은 것을 사용이 쉽게 Substring를 사용하여 수행됩니다

string[] stringTokens = originalString.Split(new char[] {' '}, 2, StringSplitOptions.RemoveEmptyEntries); 
if(stringTokens.Length >= 2) 
    newString = stringTokens[1]; 
15

:

string myString = "1. top of steel"; 
string newString = myString.Substring(myString.IndexOf(' ') + 1); 

것은이 당신에게 줄 것이다 새로운 것 첫 번째 공간 다음에 시작합니다.