あなたがして文字列内のダッシュの回数を確認することができます。
if str.Count(x => x == '-') != 2 { ... }
これは基本的に「と言った項目はダッシュに等しいとき、文字列内の項目数(文字)を数える」という意味。これを2つにチェックすると、入力文字列の妥当性などを検出できます。
あなたは、正規表現を学ぶまでた場合、これは開始時に任意のと同じくらい良い場所です。あなたが好きなもので、特定のパターンを確認することができます:
using System;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string str = "XXXXX-XXXXX-XXXXX";
Regex re = new Regex(@"^[^-]*-[^-]*-[^-]*$");
Console.Out.WriteLine(re.Match(str).Success);
}
}
}
今では正規表現は複雑に見えるかもしれませんが、それは比較的簡単です:
^ Start anchor.
[^-]* Zero or more of any non-dash characters.
- Dash character.
[^-]* Zero or more of any non-dash characters.
- Dash character.
[^-]* Zero or more of any non-dash characters.
$ End anchor.
これは唯一、うまくいきました。ありがとうございました! – XantiuM