如何从字符串末尾删除特殊字符?

时间:2009-11-17 14:18:50

标签: c#

我需要从SQL数据库返回的字符串末尾删除未知字符。我还需要在字符串中出现特殊字符时进行记录。

最好的方法是什么?

5 个答案:

答案 0 :(得分:2)

您可以使用Trim()方法从字符串末尾修剪空白或特定字符。如果需要修剪一定数量的字符,可以使用Substring()方法。您可以使用Regexs(System.Text.RegularExpressions命名空间)来匹配字符串中的模式并检测它们何时出现。有关详细信息,请参阅MSDN

如果您需要更多帮助,您需要提供更多信息,说明您的具体操作。

答案 1 :(得分:0)

首先定义什么是未知字符(0-9以外的字符,a到z和A到Z?)并将它们放在一个数组中 循环通过字符串的字符并检查是否出现char,如果是,则删除。 你也可以使用as.param作为未知字符串的String.Replace,以及replaceparam''。

答案 2 :(得分:0)

你对这个问题的定义并不精确,但这是一个快速的伎俩:

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

答案 3 :(得分: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);

答案 4 :(得分:-1)

查看Regex。替换方法......有很多重载。您可以使用匹配方法进行日志记录以识别所有匹配项。

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

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

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