0


0

文字列の末尾から特殊文字を削除するにはどうすればよいですか?

SQLデータベースから返された文字列の末尾から不明な文字を削除する必要があります。 また、文字列に特殊文字が発生したときにログを記録する必要があります。

これを行うための最良の方法は何ですか?

5 Answer


2


Trim()メソッドを使用して、文字列の末尾から空白または特定の文字を削除できます。 特定の数の文字をトリミングする必要がある場合は、Substring()メソッドを使用できます。 正規表現(System.Text.RegularExpressions名前空間)を使用して、文字列内のパターンを照合し、それらが発生するタイミングを検出できます。 詳細については、http://msdn.microsoft.com/en-us/library/30wbz966(VS.71).aspx [MSDN]を参照してください。

さらにヘルプが必要な場合は、正確に何をしようとしているのかについてもう少し情報を提供する必要があります。


0


最初に不明な文字(0〜9、a〜zおよびA〜Z以外の文字)を定義し、それらを配列に入れます。 paramとして未知のcharを使用してString.Replaceに、replaceparam ''にすることもできます。


0


あなたの問題の定義は正確ではありませんが、これはそうするための速いトリックです:

string input;
...
var trimed = input.TrimEnd(new[] {'#','$',...} /* array of unwanted characters */);
if(trimed != input)
    myLogger.Log(input.Replace(trimed, ""));


0


有効な文字は英数字のみであることを指定したので、次のようなことができます。

Match m = Regex.Match(original, "^([0-9A-Za-z]*)(.*)$");
string good = m.Groups[1].Value;
string bad = m.Groups[2].Value;

if (bad.Length > 0)
{
    // log bad characters
}

Console.WriteLine(good);


-1


Regex.Replaceメソッドを確認してください…​多くのオーバーロードがあります。 ロギングにMatchメソッドを使用して、すべての一致を識別できます。

        String badString = "HELLO WORLD!!!!";

        Regex regex = new Regex("!{1,}$" );

        String newString = regex.Replace(badString, String.Empty);