你好,抱歉,如果这个问题的答案已经在某个地方,但我没有找到它,或者不理解它。我要做的是在visual studio (C#)中有一个列表框,在这个列表框中有一些可以点击的选项。
PinturaV $100
PinturaA $105
PinturaE $115
Lijas_Ag $112
Solvente $101
如果我从我拥有的文本框的列表框中选择一行,例如PinturaA $105,它应该只显示105。然后,如果我选择例如Lijas_Ag $112,文本框应该显示...
105
112
依此类推,直到我按下total按钮,它就会给出总数。我的问题是在文本框中只显示数字。我编写了代码,以便程序可以读取选定的行,并告诉我空间的位置,但我不知道是否需要这样做才能将数字放入文本框中。我不知道该怎么做。任何帮助都将不胜感激。我留了一些照片以防万一。
谢谢
发布于 2017-04-18 03:05:49
您应该使用Regex来获得所需的输出。您需要在ListBox event中应用Regex。请查看下面的Regex和C#示例。
正则表达式:
\d+上面的Regex将为您提供来自string的所有digit
代码C#:
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
// Your others code & logic
//string data = "PinturaV $100";
string data = listBox1.Text;
textBox1.Text = Regex.Match(data, @"\d+").Value;
}发布于 2017-04-18 03:02:47
考虑到所选文本为PinturaA $105。您可以使用正则表达式(或)字符串库方法来仅获取如下数字
string str = "PinturaA $105";
string val = (str.IndexOf("$") > 0)
? str.Substring(str.IndexOf("$"), str.Length - str.IndexOf("$"))
: string.Empty;发布于 2017-04-18 03:03:29
您可以使用正则表达式轻松完成此操作:
var oldtext = "Solvente $101";
var newtest = Regex.Match(oldText, "\\d+$").Groups[0].Value;变量newtext将包含数字。
https://stackoverflow.com/questions/43457656
复制相似问题