1

必要な文字 (キリル文字、ラテン文字、または任意の文字) で始まる文字列を追跡する必要があります。ただし、数字やスペースを含む特殊文字は絶対に使用しないでください。

最初の私のタスクは、数字で始まるハンドル文字列だけでしたが、今のところ特定の文字も含まれています。

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        int i;
        if (isRoot && (int.TryParse(textBox1.Text.Trim(), out i)))

キャラどうしよう??次のようなものを使用します (ただし、この場合、すべての文字の条件を作成する必要があります)。

(textBox1.Text.Trim(). StartsWith("%") || textBox1.Text.Trim().StartsWith("-") || ...... 
)

何か良い方法はないでしょうか??文字のみを許可することを提案する場合、別の言語を指定できるため、それは悪い考えです..だから何?

4

1 に答える 1

0

正規表現を使用して、この機能を処理できます。例: このスニペットは、入力ファイル パスが正しくフォーマットされていることを確認します。

// [drive_letter]:\ or  \\[server]\ or [drive name]:\
private const string PathPattern = "^[A-z]:[\\\\/]|^\\\\|^.*[A-z]:[\\\\/]";
var matchMaker = new Regex(PathPattern);
var success = matchMaker.Matches(inputPath);

あなたの場合、さまざまな文字を識別してそれらをトリミングしたいので、それらの文字列を正規表現で識別し、解析ロジックを実行します。

このリンクには、すべての正規表現コマンドのリストがあります: http://www.mikesdotnetting.com/Article/46/CSharp-Regular-Expressions-Cheat-Sheet

于 2013-08-16T14:34:51.980 に答える