この文字列4(4X),4(4N),3(3X)
から文字列を作成します4,4,3
。文字列を取得している場合は、文字列4(4N),3(3A),2(2X)
を作成します4,3,2
。
誰かが私の問題を解決する方法を教えてください。
この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
これは役立つかもしれません:
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);
正規表現を使用できます
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