0

文字とスペース以外のすべての文字を削除しようとしていますが、できません。私が現在持っているコードは以下のとおりです。スペースを許可するように変更するにはどうすればよいですか? 現時点では、テキストが取り除かれ、すべてが 1 つの大きなテキスト行になります。

    Dim InputTxt As String = InputText.Text
    Dim OutputTxt As System.Text.StringBuilder = New System.Text.StringBuilder()

    For Each Ch As Char In InputTxt
        If (Not Char.IsLetter(Ch)) Then
            OutputTxt.Append(Ch)

            Continue For
        End If

        Dim CheckIndex As Integer = Asc("a") - (Char.IsUpper(Ch) * -32)
        Dim Index As Integer = ((Asc(Ch) - CheckIndex) + 13) Mod 26
        OutputTxt.Append(Chr(Index + CheckIndex))

    Next
    OutputText.Text = (OutputTxt.ToString())
4

4 に答える 4

1

完全にはテストされていませんが、単純な Regex ですべてのコードを置き換える必要があります

   Dim s = "ADB,12.@,,,122abC"
   Dim result = Regex.Replace(s, "[^a-zA-Z ]+", "")
   Console.WriteLine(result)

--> 出力 = ADBabC

正規表現パターンのリファレンスはこちら

于 2013-05-11T17:28:24.433 に答える