2012-04-30 7 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

ただ、次のようなものを使用し、

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

これは簡単にSubstringを使用して達成される:

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

これはあなたを与えるだろうが、新しい最初のスペースの後に始まります。

関連する問題