首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在C#中仅显示文本行的特定部分

如何在C#中仅显示文本行的特定部分
EN

Stack Overflow用户
提问于 2017-04-18 02:53:28
回答 5查看 57关注 0票数 0

你好,抱歉,如果这个问题的答案已经在某个地方,但我没有找到它,或者不理解它。我要做的是在visual studio (C#)中有一个列表框,在这个列表框中有一些可以点击的选项。

PinturaV $100

PinturaA $105

PinturaE $115

Lijas_Ag $112

Solvente $101

如果我从我拥有的文本框的列表框中选择一行,例如PinturaA $105,它应该只显示105。然后,如果我选择例如Lijas_Ag $112,文本框应该显示...

105

112

依此类推,直到我按下total按钮,它就会给出总数。我的问题是在文本框中只显示数字。我编写了代码,以便程序可以读取选定的行,并告诉我空间的位置,但我不知道是否需要这样做才能将数字放入文本框中。我不知道该怎么做。任何帮助都将不胜感激。我留了一些照片以防万一。

谢谢

main selected

Code I have so far

EN

回答 5

Stack Overflow用户

发布于 2017-04-18 03:05:49

您应该使用Regex来获得所需的输出。您需要在ListBox event中应用Regex。请查看下面的RegexC#示例。

正则表达式:

代码语言:javascript
运行
复制
\d+

上面的Regex将为您提供来自string的所有digit

代码C#:

代码语言:javascript
运行
复制
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;
}
票数 1
EN

Stack Overflow用户

发布于 2017-04-18 03:02:47

考虑到所选文本为PinturaA $105。您可以使用正则表达式(或)字符串库方法来仅获取如下数字

代码语言:javascript
运行
复制
string str = "PinturaA $105";
string val = (str.IndexOf("$") > 0) 
              ? str.Substring(str.IndexOf("$"), str.Length - str.IndexOf("$")) 
              : string.Empty;
票数 0
EN

Stack Overflow用户

发布于 2017-04-18 03:03:29

您可以使用正则表达式轻松完成此操作:

代码语言:javascript
运行
复制
var oldtext = "Solvente $101";
var newtest = Regex.Match(oldText, "\\d+$").Groups[0].Value;

变量newtext将包含数字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43457656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档