如何在c#中检查字符串是否为xxxxx.xxxx格式?

如何在c#中检查字符串是否为xxxxx.xxxx格式?,c#,string,C#,String,我有一个字符串,它应该是xxxxx.xxxx格式。我的应用程序正在自动获取此字符串,某些时间字符串看起来像xxxx.xxxx或xxxxxx.xxx或 我的问题是“如何检查字符串的格式是否正确?” 我的想法是: myString.Length == 10; 但如果dot位于错误的位置,则可能是错误的…严格来说,这将起作用: if (myString.Length == 10 && myString.IndexOf('.') == 5) { //do something

我有一个字符串,它应该是xxxxx.xxxx格式。我的应用程序正在自动获取此字符串,某些时间字符串看起来像xxxx.xxxx或xxxxxx.xxx或

我的问题是“如何检查字符串的格式是否正确?”

我的想法是:

myString.Length == 10;

但如果dot位于错误的位置,则可能是错误的…

严格来说,这将起作用:

if (myString.Length == 10 && myString.IndexOf('.') == 5)
{
    //do something


}
Match match = Regex.Match(input, @"[A-z0-9]{5}\.[A-z0-9]{4}$");
if (match.Success)
{


    //do something
}

如果“x”必须等于一个字母数字字符,则此操作将起作用:

if (myString.Length == 10 && myString.IndexOf('.') == 5)
{
    //do something


}
Match match = Regex.Match(input, @"[A-z0-9]{5}\.[A-z0-9]{4}$");
if (match.Success)
{


    //do something
}

严格地说,这将起作用:

if (myString.Length == 10 && myString.IndexOf('.') == 5)
{
    //do something


}
Match match = Regex.Match(input, @"[A-z0-9]{5}\.[A-z0-9]{4}$");
if (match.Success)
{


    //do something
}

如果“x”必须等于一个字母数字字符,则此操作将起作用:

if (myString.Length == 10 && myString.IndexOf('.') == 5)
{
    //do something


}
Match match = Regex.Match(input, @"[A-z0-9]{5}\.[A-z0-9]{4}$");
if (match.Success)
{


    //do something
}

以下是您可以使用的正则表达式:

\w{5}\x2E\w{4}

//      Alphanumeric, exactly 5 repetitions
//      Hex 2E (.)
//      Alphanumeric, exactly 4 repetitions

您应该尝试使用Expresso from

以下是您可以使用的正则表达式:

\w{5}\x2E\w{4}

//      Alphanumeric, exactly 5 repetitions
//      Hex 2E (.)
//      Alphanumeric, exactly 4 repetitions


您应该试试Expresso from

它应该是数字,还是在“x”的位置可以有任何字符?圆点可以在10个位置中的任何一个,还是仅在这2个位置?一般来说,正则表达式对于检查字符串是否符合特定模式非常有用,您可能需要搜索正则表达式示例。
x
是否应该表示数字0-9?
是否总是需要位于同一个精确位置?你的第二句话听起来可能会有所不同。我们需要更多的信息!它应该是数字,还是在“x”的位置可以有任何字符?圆点可以在10个位置中的任何一个,还是仅在这2个位置?一般来说,正则表达式对于检查字符串是否符合特定模式非常有用,您可能需要搜索正则表达式示例。
x
是否应该表示数字0-9?
是否总是需要位于同一个精确位置?你的第二句话听起来可能会有所不同。我们需要更多的信息!而不是
IndexOf
专门检查该索引。如果字符串都是
,会怎么样?这可能会为
xxxxx.x.xx
@Habib返回true,这是真的。正则表达式通常非常适合这种类型的验证。我的印象是“x”是任何ascii字符,但克拉(4)必须是“.”。如果是这样,那么“xxxxx.x.xx”将与此匹配。如果不是这样,那么OP应该定义“x”可以是什么!!而不是
IndexOf
专门检查该索引。如果字符串都是
,会怎么样?这可能会为
xxxxx.x.xx
@Habib返回true,这是真的。正则表达式通常非常适合这种类型的验证。我的印象是“x”是任何ascii字符,但克拉(4)必须是“.”。如果是这样,那么“xxxxx.x.xx”将与此匹配。如果不是这样,那么OP应该定义“x”可以是什么!!假设
应该始终是第6个字符。我不确定作者是否真的只想在(可能)数字之间的字符串中找到一个
。是的,这个问题有很多歧义。我做了一些假设,并给了OP足够的信息继续进行。谢谢=)这就是我要找的=)注释:如果你能把整个If语句和显示如何使用正则表达式的代码放在一起,那将更有意义…我会给你种子,但我不会拉你的犁。假设
应该永远是第六个性格我不确定作者是否真的只想在(可能)数字之间的字符串中找到一个
。是的,这个问题有很多歧义。我做了一些假设,并给了OP足够的信息继续进行。谢谢=)这就是我要找的=)注释:如果你能把整个If语句和显示如何使用正则表达式的代码放在一起,那将更有意义…我会给你种子,但我不会让你失望。