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 番目のパラメーターの文字列なしでコンパイルすることを拒否します。