检查字符串是否包含超过3个小数点的版本

时间:2015-11-06 21:40:01

标签: c# if-statement decimal version

我正在尝试获取程序的子版本,这会返回以下字符串Release 4.2.3 of programX,但有时也会返回:Release 4.3 of programX。 我想检查字符串是否包含3个或更多小数位(如4.3.2) 我发现This question有答案,但它不适用于C#,这在C#中是否可行,如果是,那么最佳方法是什么?

3 个答案:

答案 0 :(得分:1)

使用linq。

QtConcurrent::run

或正则表达式。 (仅检查数字部分内的点)

bool more3dec = input.Count(c => c == '.') >= 2;

答案 1 :(得分:1)

你可以通过各种方式进行查看,但如果你想知道它是否有2 periods . 或者不是,那么你可以这样做。

var versionStr = "Release 4.2.3";
var nuberDecimals = versionStr.Split('.').Length - 1;
  

nuberDecimals = 2;

答案 2 :(得分:1)

var input = "Release 4.2.3 andSomeText.With.Dots.Or.Namespaces";
var isValid = Regex.IsMatch(input.Split(' ')[1], @"\d+\.\d+\.\d+");