从字符串中删除不需要的字符

| 我有一个程序,我从RSS文件中获取日期,然后尝试将其转换为“ 0”。不幸的是,我必须使用的RSS文件存在很多间距问题。当我解析字符串时,我得到以下信息:
\"\\t\\t\\n\\t\\t4/13/2011\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\"
我要删除所有的
\\t
\\n
。到目前为止,所有这些都失败了:
finalDateString.Trim(\'\\t\');
finalDateString.Trim(\'\\n\');
finalDateString.Trim();
finalDateString.Replace(\"\\t\", \"\");
finalDateString.Replace(\"\\n\", \"\");
finalDateString.Replace(\" \", \"\");
每个命令都将返回相同的字符串。有什么建议么? (在有RSS原因的情况下,我标记了RSS)     
已邀请:
首先,您可以使用1个字符的正则表达式删除字符串中的所有空格:
    String finalDateTimeString = \"\\t\\t\\n\\t\\t4/13/2011\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\";
    Regex whitespaceRegex = new Regex(\"\\\\s\");
    finalDateTimeString = whitespaceRegex.Replace(finalDateTimeString, \"\");
我刚刚对此进行了测试,并且它起作用了。 其次,我刚刚测试了在您的字符串上调用and6ѭ的情况,并且即使不删除空格也能正常工作。因此,也许您甚至不必这样做。
    String finalDateTimeString = \"\\t\\t\\n\\t\\t4/13/2011\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\";
    DateTime finalDateTime = DateTime.Parse(finalDateTimeString);
    // finalDateTime.toString() == \"4/13/2011 12:00:00 AM\"
    
您需要为“ 8”输出分配原始值。您也不需要修剪,因为替换将消除所有修剪。
finalDateString = finalDateString.Replace(\"\\t\", \"\");
finalDateString = finalDateString.Replace(\"\\n\", \"\");
    
我将使用正则表达式
string strRegex = @\"([\\s])\";    
Regex myRegex = new Regex(strRegex);
string strTargetString = @\"  4/13/2011    \";
string strReplace = \"\";

string result = myRegex.Replace(strTargetString, strReplace);
    
使用Regex.Replace:
string result = Regex.Replace(data,\"[\\\\t,\\\\n]\",\"\"));
    
先前发布的所有答案均会删除字符串中的所有空格,但仅删除开头和结尾的空格会更可靠。
finalDateTimeString = Regex.Replace(finalDateTimeString, @\"^\\s+\", \"\");
finalDateTimeString = Regex.Replace(finalDateTimeString, @\"\\s+$\", \"\");
[我不知道C#,所以我在猜测其他文章的语法。欢迎更正。 ]     
    private String stringclear(String str)
    {
        String tuslar = \"qwertyuopasdfghjklizxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM._0123456789 :;-+/*@%()[]!\\nüÜğĞİışŞçÇöÖ\"; // also you can add utf-8 chars
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < str.Length; i++)
        {
            if (tuslar.Contains(str[i].ToString()))  //from tuslar string. non special chars
                sb.Append(str[i]);
            if (str[i] == (char)13) // special char (enter key)
                sb.Append(str[i]);
        }

        return sb.ToString();
    }
    

要回复问题请先登录注册