0

我需要验证有效的代号。

因此,我的字符串可以具有如下值:

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

所以我的函数需要验证以下条件:

  1. 它应该从C
  2. 之后,接下来的 3 个字符应该是数字.
  3. 休息它可以是任何东西。

所以在上面的字符串值中,只有["C000.", "C010.", "C020.", "C030."]有效的值。

编辑:

下面是我试过的代码:

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

3 回答 3

2

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

string s = "C030.";
Regex reg = new Regex("C[0-9]{3,3}\\.");
bool isMatch = reg.IsMatch(s);
于 2013-05-05T07:22:16.830 回答
0

查看http://www.techotopia.com/index.php/Working_with_Strings_in_C_Sharp 有关(除其他外)单独访问字符串元素的快速教程,以便您可以根据标准测试每个元素。如果您认为您的标准可能会改变,那么使用正则表达式可以为您提供最大的灵活性(但比常规字符串元素评估更需要运行时)。在你的情况下,这可能是矫枉过正,恕我直言。

于 2013-05-05T07:22:46.737 回答
0

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

Regex.IsMatch(input, @"C[0-9]{3}\..*")
于 2013-05-05T07:21:53.790 回答