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 回答