C#4.0函数检查字符串中的前四个字符

时间:2013-05-05 07:16:28

标签: c#-4.0

我需要验证有效的代码名称。

因此,我的字符串可以包含如下值:

String test = "C000. ", "C010. ", "C020. ", "C030. ", "CA00. ","C0B0. ","C00C. "

所以我的功能需要验证以下条件:

  1. 它应以C
  2. 开头
  3. 之后,接下来的3个字符应该是.
  4. 之前的数字
  5. 休息它可以是任何东西。
  6. 因此,在上面的字符串值中,只有["C000.", "C010.", "C020.", "C030."]是有效的。

    编辑:

    以下是我尝试的代码:

    if (nameObject.Title.StartsWith(String.Format("^[C][0-9]{3}$",nameObject.Title)))
    

3 个答案:

答案 0 :(得分:2)

我建议使用正则表达式(例如,写在我的头顶,可能需要工作):

string s = "C030.";
Regex reg = new Regex("C[0-9]{3,3}\\.");
bool isMatch = reg.IsMatch(s);

答案 1 :(得分:0)

这个正则表达式可以解决这个问题:

Regex.IsMatch(input, @"C[0-9]{3}\..*")

答案 2 :(得分:0)

查看http://www.techotopia.com/index.php/Working_with_Strings_in_C_Sharp 有关字符串元素的个别访问(以及其他内容)的快速教程,因此您可以根据条件测试每个元素。 如果您认为您的标准可能会发生变化,那么使用正则表达式可以获得最大的灵活性(但比常规字符串元素评估更加耗费运行时间)。在你的情况下,它可能是矫枉过正,恕我直言。