从字符串中提取子字符串,直到找到逗号

时间:2009-09-26 08:52:41

标签: c# asp.net string

我正在构建一个页面,想知道如何从字符串中提取子字符串,直到在ASP.Net C#中找到逗号。有人可以帮忙吗?

6 个答案:

答案 0 :(得分:39)

substring = str.Split(',')[0];

如果str不包含任何逗号,则子字符串将与str。

相同

编辑:与大多数事情一样,这种情况的表现因边缘情况而异。如果有很多逗号,这将在堆上创建许多不会被使用的String实例。如果它是一个5000字符的字符串,在开头附近有一个逗号,则IndexOf + Substring方法将执行得更好。但是,对于相当小的字符串,此方法可以正常工作。

答案 1 :(得分:12)

var firstPart = str.Split(new [] { ',' }, 2)[0]

第二个参数表示最大零件数。即使有很多逗号,指定2也可以确保性能良好。

答案 2 :(得分:8)

myString = myString.Substring(0,myString.IndexOf(','));

答案 3 :(得分:8)

您可以使用IndexOf()找出逗号的位置,然后提取子字符串。如果你确定它总是有逗号,你可以跳过检查。

        string a = "asdkjafjksdlfm,dsklfmdkslfmdkslmfksd";
        int comma = a.IndexOf(',');
        string b = a;
        if (comma != -1)
        {
            b = a.Substring(0, comma);
        }
        Console.WriteLine(b);

答案 4 :(得分:4)

Alina,基于你上面写的内容,然后Split会为你工作。

string[] a = comment.Split(',');

给出你的示例字符串,然后是[0] =“aaa”,a [1] =“bbbbb”,a [2] =“cccc”和a [3] =“dddd”

答案 5 :(得分:3)

string NoComma = "";
string example = "text before first comma, more stuff and another comma, there";
string result = example.IndexOf(',') == 0 ? NoComma  : example.Split(',')[0];