如何解决从字符串中删除不需要的字符
| 我有一个程序,我从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();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。