从字符串中删除不需要的字符
本文关键字:字符 不需要 删除 字符串 | 更新日期: 2023-09-27 17:50:20
我有一个程序,我从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
's和'n
's。到目前为止,这些都失败了:
finalDateString.Trim(''t');
finalDateString.Trim(''n');
finalDateString.Trim();
finalDateString.Replace("'t", "");
finalDateString.Replace("'n", "");
finalDateString.Replace(" ", "");
每一个命令将返回相同的字符串。有什么建议吗?
需要将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"
我将使用正则表达式
string strRegex = @"(['s])";
Regex myRegex = new Regex(strRegex);
string strTargetString = @" 4/13/2011 ";
string strReplace = "";
string result = myRegex.Replace(strTargetString, strReplace);
使用正则表达式。替换:
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();
}