我有一个来自此字符串的字符串4(4X),4(4N),3(3X)
我想创建字符串4,4,3
。如果我收到字符串4(4N),3(3A),2(2X)
,那么我想创建我的字符串4,3,2
。
请有人告诉我如何解决我的问题。
答案 0 :(得分: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
答案 1 :(得分: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);
答案 2 :(得分:0)
您可以使用regular expressions
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