如何检查字符串是否在C#中具有特定格式

时间:2012-03-16 06:37:16

标签: c# string format compare

我想检查字符串值是否为

格式
i) 6.2.****.0

ii) 6.2.****.0000

其中*表示1-9

中的任何数字

如何使用C#实现这一目标? Pl让我知道哪种方式(用更少的代码)可以帮助我实现这个目标?如果我可以使用正则表达式,如何使用它来实现上述检查?

2 个答案:

答案 0 :(得分:7)

如果您只是在寻找数字部分(不是i)前缀)并且必须有4位数字,请尝试以下

if (Regex.IsMatch(theString, @"6\.2\.[1-9]{4}\.0+")) {
  // It's a match
}

注意:这实际上会匹配字符串中任何位置的特定模式。如果要查看整个字符串是否与该模式匹配,则需要使用以下

if (Regex.IsMatch(theString, @"^6\.2\.[1-9]{4}\.0+$")) {
  // It's a match
}

答案 1 :(得分:0)

if (Regex.IsMatch(text, @"(^6\.2\.[1-9]{4}\.0{4}$)") || Regex.IsMatch(text, @"(^6\.2\.[1-9]{4}\.0$)"))
{
    // some code
}

if (Regex.IsMatch(text, @"(\A6\.2\.[1-9]{4}\.0{4}\Z|\A6\.2\.[1-9]{4}\.0\Z)"))
{
    // some code
}