我在键盘上输入数字,我想保留它们的特定部分,以便在案例中使用

本文关键字:定部 案例 输入 键盘 数字 保留 | 更新日期: 2023-09-27 18:06:01

我想做一个程序,读取一行数字和符号,我想只读取一些特定的数字,所以我可以做3个案例,然后输出在一个文本框上的东西取决于从那个数字。你能帮我提供必要的代码吗?(我计划在windows窗体应用程序中使用它)

示例:我得到键盘输入-> (01)04006544860533(10)L825308500,我想只保留04006544860533,所以我可以使用它的情况1,并给我回textbox4="...."。

我不能改变输入,必须是长输入

编辑

谢谢你这么快的回答

好吧,我使用了你在一个按钮中提供的代码,但我总是得到我的文本框上的默认响应,所以我想我错过了一些东西。如果我在箱子上输入数字,它会起作用

(程序文本在希腊hehe)

代码

private void button1_Click(对象发送者,EventArgs e){字符串输入= BarcodeTextBox.Text;字符串数=输入。Substring (14);

        switch (input) //tried switch (number) also
        {
            case ("4006544849033"):
            ProductTextBox.Text = "SLS ΛΕΥΚΗ ΖΑΧΑΡΗ ΑΠΟ ΖΑΧΑΡΟΚΑΛΑΜΟ 1kg";
            break;
            case ("4006544860533"):
            ProductTextBox.Text = "SLS ΑΚΑΤΕΡΓΑΣΤΗ ΖΑΧΑΡΗ 0,5kg";
            break;
            case ("4006544849637"):
            ProductTextBox.Text = "SLS ΑΧΝΗ ΖΑΧΑΡΗ 0,4kg";
            break;
            case ("4006544851630"):
            ProductTextBox.Text = "ΛΕΥΚΗ ΖΑΧΑΡΗ EU2-F 25κιλά ΖΑΧ/ΛΑΜΟ";
            break;
            case ("4006544901137"):
            ProductTextBox.Text = "ΚΡΤΣΤ. ZAX.GR 10X1kg AB";
            break;
            case ("4006544901335"):
            ProductTextBox.Text = "ΚΡΤΣΤ.GR 10X1 Κιλά LIDL ΕΛΛΑΣ";
            break;
            case ("5410256208115"):
            ProductTextBox.Text = "ΚΡΤΣΤ. ZAX.GR 10X1kg ΣΚΛΑΒΕΝΙΤΗΣ";
            break;
            case ("4006544901731"):
            ProductTextBox.Text = "ΚΡΤΣΤ.GR 10X1 Κιλά LIDL ΕΛΛΑΣ DHP";
            break;
            case ("4006544901830"):
            ProductTextBox.Text = "SLS ΑΧΝΗ ΖΑΧΑΡΗ 0,4kg Limited Edition";
            break;
            default:
            ProductTextBox.Text = "Λάθος Αριθμός Barcode, Ξαναπροσπαθήστε";
            break;
        } 
    }

我在键盘上输入数字,我想保留它们的特定部分,以便在案例中使用

如果输入文本总是相同的长度和格式,您可以使用Substring函数,像这样:

 string input = "(01)04006544860533(10)L825308500";
 string number = input.Substring(4, 14);
 // if you also need the first number in parenthesis
 int firstNumber = Int32.Parse(input.Substring(1,2));  // this will be equal to 1

如果字符串可能有可变长度,但格式总是相同的,那么你可以使用正则表达式来获得数字:

 Regex rex = new Regex("^''(''d+'')(''d+)");
 Match m = rex.Match(input);
 if(m.Success && m.Groups[1].Success){
     string number = m.Group[1].Value;
 }

您可以使用正则表达式来验证输入中的数字。

'd{10}将匹配一个10位数字。

你可以在这个网站上做教程并了解更多关于它们的信息:http://www.regular-expressions.info/