1

VB.NET (3.5) で正規表現を使用して、入力文字列から非 ASCII 文字をすべて削除しようとしています。入力文字列を正規表現で実行する関数があります。

Public Shared Function RemoveIllegalCharacters(ByVal inpTxt As String) As String

    'use a regular expression to replace any characters that are non-ascii
    inpTxt = Regex.Replace(inpTxt, "[^\u0000-\u007F]", String.Empty)

    Return inpTxt

End Function

関数内で適切に機能しているようです。inpTxt = "123foobar" は関数全体で "123foobar" です。ただし、他の場所にアクセスすると:

Public someOtherFunction(ByVal inpTxt As String) As String

    inpTxt = RemoveIllegalCharacters(inpTxt)

    Return inpTxt

End Function

最初の文字が消えます:

inpTxt = "23foobar"

他の情報源は私が書くことを示唆しています

inpTxt = Regex.Replace(inpTxt, @"[^\u0000-\u007F]", String.Empty)

しかし、プロジェクトは、Regex.Replace の 2 番目のパラメーターの文字列なしでコンパイルすることを拒否します。

4

1 に答える 1