-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()関数の2番目のオーバーロードを使用できます: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 に答える