从字符串中提取2个数字以填充文本框vb.net

时间:2015-01-29 13:31:01

标签: regex vb.net string

该项目是一个计算器,用于在列表框中显示数学运算(即列表框将显示类似1 + 2 = 3的内容)。计算器功能齐全,工作正常。现在这是问题所在。我被要求扩展计算器的功能,以便能够在选择时修改列表框条目。选择列表框项时,我需要在数学运算中填充两个带有两个数字的文本框。所以,如果我选择" 1 + 2 = 3"然后我必须用1填充第一个文本框,用2填充第二个文本框,以便可以修改它们。我假设这需要使用正则表达式完成,但我没有使用它的经验,只是无法解决这个问题。

2 个答案:

答案 0 :(得分:2)

知道它不是正则表达式但是应该做的伎俩(为你的目的进行一点点的折射):

Dim k As String = "2+3=5"
Dim p = k.Split("+=".ToCharArray())
Console.WriteLine(p(0))
Console.WriteLine(p(1))

'p() contains the split out parts of your expression.

答案 1 :(得分:0)

分裂12 + 13 = 25:

(\d+)([-+*/])(\d+)=(\d+)
  ^ Matches 12 (In capturing group1)

(\d+)([-+*/])(\d+)=(\d+)
         ^ Matches + (One of -, +, *, / operator) (In capturing group2)

(\d+)([-+*/])(\d+)=(\d+)
               ^ Matches 13 (In capturing group3)

(\d+)([-+*/])(\d+)=(\d+)
                     ^ 25 (In capturing group4)