从字符串中提取 2 个数字以填充文本框 vb.net
Extract 2 numbers from a string to populate textboxes vb.net
该项目是一个在列表框中显示数学运算的计算器(即列表框会显示类似 1+2=3 的内容)。计算器功能完备且工作正常。现在问题来了。我被要求扩展计算器的功能,以便在选择时能够修改列表框条目。选择列表框项目后,我需要用数学运算中的两个数字填充两个文本框。因此,如果我选择“1+2=3”,那么我必须用 1 填充第一个文本框,用 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.
拆分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)
该项目是一个在列表框中显示数学运算的计算器(即列表框会显示类似 1+2=3 的内容)。计算器功能完备且工作正常。现在问题来了。我被要求扩展计算器的功能,以便在选择时能够修改列表框条目。选择列表框项目后,我需要用数学运算中的两个数字填充两个文本框。因此,如果我选择“1+2=3”,那么我必须用 1 填充第一个文本框,用 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.
拆分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)