[英]Removing unwanted characters from a string
我有一个程序,我从RSS文件中获取日期,然后尝试将其转换为DateTime
。 不幸的是,我必须使用的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)
您需要为原始值分配“ Replace
输出。 您也不需要修剪,因为替换将消除所有修剪。
finalDateString = finalDateString.Replace("\t", "");
finalDateString = finalDateString.Replace("\n", "");
首先,您可以使用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, "");
我刚刚对此进行了测试,并且它起作用了。
其次,我刚刚测试了在字符串上调用DateTime.Parse()
,该方法甚至无需删除空格即可工作。 因此,也许您甚至不必这样做。
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"
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();
}
我将使用正则表达式
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#,所以我在猜测其他文章的语法。 欢迎更正。 ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.