2011-07-11 4 views
4

C#の文字列でカンマ(、)の前にすべての要素を取得するにはどうすればよいですか? 私の文字列は、最後のcomma.Soが私の新しい文字列叫びは、私は私ができる分割を試みたが、それにしている最後のカンマの前のすべての要素をC#の文字列に入れます。

string new_string = "a,b,c"; 

ように見える前に

string s = "a,b,c,d"; 

が、私はD、すなわち前にすべての要素をしたいと言っている場合一度に1つの特定の要素のみが表示されます。

答えて

8
string new_string = s.Remove(s.LastIndexOf(',')); 
+0

ねえ、ありがとう... – doesdos

0

使用follwoing正規表現:"(.*),"

Regex rgx = new Regex("(.*),"); 
string s = "a,b,c,d"; 

Console.WriteLine(rgx.Match(s).Groups[1].Value); 
6

あなたはすべてが最後発生、使用前の場合:

int lastIndex = input.LastIndexOf(','); 
if (lastIndex == -1) 
{ 
    // Handle case with no commas 
} 
else 
{ 
    string beforeLastIndex = input.Substring(0, lastIndex); 
    ... 
} 
0

あなたも試すことができます。

string s = "a,b,c,d"; 
string[] strArr = s.Split(','); 

Array.Resize(strArr, Math.Max(strArr.Length - 1, 1)) 

string truncatedS = string.join(",", strArr); 
関連する問題