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

本文关键字:版本 小数点 字符串 是否 包含 检查 | 更新日期: 2023-09-27 18:20:52

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

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

使用linq。

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

或者regex。(仅检查数字部分内的点)

bool more3dec = Regex.IsMatch(input, @"'d+'.'d+'.'d+");

您可以通过多种方式来实现这一点,但如果您想知道它是否具有2 periods .或者不,那么你可以这样做,例如。

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

nuberDecimals=2;

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