2011-11-07 11 views
1

私はこの分割文字列の最初の部分

187878のようなものである文字列を持っている - 私のテキストコメント - これはユーザーのコメントです - 最後

私は最初の値を取らなければならないが、それは私の従業員すなわち187878であり、コメントの残りが必要です。

私は

string[] myText = textbox1.text.split('-'); 

、これを使用するが、これは3つのpeicesに文字列を破ったと私は、全体としてのコメントを取得することはできませんよ。別の変数で最初のidを取得し、別の変数にコメントを残すにはどうしたらいいですか?

もう一度ループする必要がありますか?正規表現を使用し

string[] myText = input.Split(new char[] { '-' }, 2); 
if (myText.Length != 2) { /* error */ } 
int employeeId; 
if (!int.TryParse(myText[0], out employeeId)) { /* error */ } 
string comment = myText[1]; 

答えて

1

は、カウントを取るstring.Splitのオーバーロードを使用してください。そして、あなたがグループを使用して値を引き離すことができ

/^(\d+) - (.*?) - (.*?) - (.*)$/ 

:私は(あなたが使用している言語によって異なります)正確な.NETの構文を覚えていけないが、正規表現自体はする必要があります。

1
using System.Linq; 

var firstPart = textbox1.Text.Split('-') 
           .First() 
           .Trim(); 

var lastTwoParts = textbox1.Text.Split('-') 
          .Skip(1) 
          .Take(2); 
+0

スプリット後にFirst()を取得できません。 – Zerotoinfinity

+0

@Zerotoinfinite:System.Linqを使って追加しましたか? – sll

+0

oh !!!私はあなたの完全な答えを確認する必要があります..私の悪い! – Zerotoinfinity