C#4.0函数检查字符串中的前四个字符
问题描述:
我需要验证有效的代码名称。C#4.0函数检查字符串中的前四个字符
String test = "C000. ", "C010. ", "C020. ", "C030. ", "CA00. ","C0B0. ","C00C. "
所以我的功能需要验证以下条件:
所以,就像我下面的字符串可以有值
- 它应与
C
- 启动接下来的三个字符后应在数字之前为
.
- 休息它可以是任何东西。
所以在上面的字符串值中,只有["C000.", "C010.", "C020.", "C030."]
是有效的。
编辑:
下面是我试过的代码:
if (nameObject.Title.StartsWith(String.Format("^[C][0-9]{3}$",nameObject.Title)))
答
我建议正则表达式,例如(注销我的头顶,可能需要工作):
string s = "C030.";
Regex reg = new Regex("C[0-9]{3,3}\\.");
bool isMatch = reg.IsMatch(s);
答
此正则表达式应该做的伎俩:
Regex.IsMatch(input, @"C[0-9]{3}\..*")
答
查看http://www.techotopia.com/index.php/Working_with_Strings_in_C_Sharp
关于(除其他之外)字符串元素的单独访问的快速教程,以便您可以测试每个元素的标准。 如果您认为自己的标准可能会发生变化,那么使用正则表达式可以提供最大的灵活性(但比常规字符串元素评估运行时间更多)。在你的情况下,它可能是矫枉过正,恕我直言。
这听起来对于一个正则表达式来说是适当的......你试过了什么,它是怎么回事? – 2013-05-05 07:17:46
你有意避免使用正则表达式吗? – 2013-05-05 07:18:40
即使你避开正则表达式,你可以通过索引器参数像数组一样访问字符,并从那里评估 – smartcaveman 2013-05-05 07:19:48