1

この文字列4(4X),4(4N),3(3X)から文字列を作成します4,4,3。文字列を取得している場合は、文字列4(4N),3(3A),2(2X)を作成します4,3,2

誰かが私の問題を解決する方法を教えてください。

4

3 に答える 3

3

このLinqクエリは、入力文字列の各部分から、最初から最初の開いた中括弧までの部分文字列を選択します。

string input = "4(4N),3(3A),2(2X)";
string result = String.Join(",", input.Split(',')
                                  .Select(s => s.Substring(0, s.IndexOf('('))));
// 4,3,2
于 2013-03-26T06:44:30.257 に答える
2

これは役立つかもしれません:

string inputString = "4(4X),4(4N),3(3X)";
string[] temp = inputString.Split(',');
List<string> result = new List<string>();

foreach (string item in temp)
{
    result.Add(item.Split('(')[0]);
}

var whatYouNeed = string.Join(",", result);
于 2013-03-26T06:41:31.753 に答える
0

正規表現を使用できます

String input = @"4(4X),4(4N),3(3X)";
String pattern = @"(\d)\(\1.\)";
// ( ) - first group.
// \d - one number
// \( and \) - braces.
// \1 - means the repeat of first group.
String result = Regex.Replace(input, pattern, "$1");
// $1 means, that founded patterns will be replcaed by first group
//result = 4,4,3
于 2013-03-26T07:14:27.653 に答える