【发布时间】:2014-11-14 00:41:57
【问题描述】:
对于regex,我完全是菜鸟。
我的目标是检查字符串是否是十六进制数字的有效表示。
目前我的实现(我觉得效率很低)是有一个包含所有十六进制数字(0-9,A-F)的列表,并检查我的字符串是否包含给定列表中未包含的字符。
我敢打赌,这可以使用正则表达式轻松完成,但我不知道如何实现它。
private bool ISValidHEX(string s)
{
List<string> ToCheck = new List<string>();
for (int i = 0; i < 10; i++)
{
ToCheck.Add(i.ToString());
}
ToCheck.Add("A");
ToCheck.Add("B");
ToCheck.Add("C");
ToCheck.Add("D");
ToCheck.Add("E");
ToCheck.Add("F");
for (int i = 0; i < s.Length; i++)
{
if( !ToCheck.Contains(s.Substring(i,1)))
{
return false;
}
}
return true;
}
【问题讨论】: