-1

我需要采取一条线,例如:

水果美味品牌苹果 3

并将数量和零件描述分开。我可以通过这样做获得 3 的数量:

foreach (var firstPass in textBox1.Lines)
{

    {//trim it up
        string firstTrimmed = firstPass.TrimEnd();

        if (firstTrimmed.Length > 0)
        {//find the qty
            int locateQty = firstTrimmed.LastIndexOf(" ") + 1;
            var qty = (firstTrimmed.Substring(locateQty));



            textBox2.Text = qty.ToString();

但是我无法在数量之前获得完整的描述(Fruit Tasty Brand Apples),textBox3以便我可以将描述和数量视为不同的实体,希望将重复描述的总数量相加。

4

3 回答 3

2

您应该能够Substring从零开始使用:

var descr = firstTrimmed.Substring(0, locateQty-2);
于 2012-05-20T04:36:46.903 回答
1

您可以使用Substring()函数的第二个重载:http: //msdn.microsoft.com/en-us/library/aka44szs

这需要字符串的长度,并且可以与您的locateQty变量一起使用,因为最后一个空格字符的位置是从零开始的,它将等于描述的长度。

string description = firstTrimmed.Substring(0, locateQty);
于 2012-05-20T04:36:58.950 回答
1
string value = "Fruit Tasty Brand Apples 3";
int index1 = value.LastIndexOf(' ');
if (index1 != -1)
{
    Console.WriteLine(index1);
    Console.WriteLine(value.Substring(index1)); // 3
    Console.WriteLine(value.Substring(0, index1-2)); // Fruit Tasty Brand Apples
}
于 2012-05-20T04:38:42.527 回答