如何从字符串中删除特殊字符并创建新字符串?

时间:2013-03-26 06:37:51

标签: c# string winforms

我有一个来自此字符串的字符串4(4X),4(4N),3(3X)我想创建字符串4,4,3。如果我收到字符串4(4N),3(3A),2(2X),那么我想创建我的字符串4,3,2

请有人告诉我如何解决我的问题。

3 个答案:

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