我正在尝试使用正则表达式来搜索字符串中的十进制值。我想将匹配集合转换为十进制数组。然后我想对十进制数组进行排序,并使用VB.NET将最小的十进制值添加到文本框中。这可能吗?
答案 0 :(得分:0)
不确定要在字符串中查找哪种值,但使用this answer中的正则表达式,您可以执行以下操作:
Dim str = "1.23 ds -100.2 xyz 97.5 1.22 .1"
Dim minVal = Regex.Matches(str, "[+-]?((\d+(\.\d*)?)|(\.\d+))") _
.Cast(Of Match)() _
.Select(Function(x) CDec(x.Value)) _
.Min()
Debug.WriteLine(minVal)
将打印-100.2
。
Cast(Of Match)()
函数允许您使用匹配项上的LINQ扩展方法,使用Select
将匹配的值转换为十进制,然后使用Min
找到最小值。
然后,您可以使用minVal
设置TextBox
。