如何从列表中的字符串中删除 <;字符串>;
本文关键字:字符串 lt gt 删除 列表 | 更新日期: 2023-09-27 18:13:46
在列表上的循环中,我做了:
private void listtostringlist(List<NewsLine> lnl, List<string> myl)
{
for (int i = 0; i < AllNews.Count; i++)
{
myl.Add(AllNews[i].text);
IFormatProvider provider = CultureInfo.InvariantCulture;
DateTime myTime = DateTime.ParseExact(AllNews[i].original_time, "DyyMMddTHHmm", provider);
string results = myTime.ToString("hh:mm דווח במקור בתאריך : dd.MM.yy : שעה");
AllNews[i].original_time = results;
myl.Add(results);
myl.Add(AllNews[i].link);
myl[i] = Regex.Replace(myl[i], @"'t|'n|'r", "");
}
尝试使用Regex:
myl[i] = Regex.Replace(myl[i], @"'t|'n|'r", "");
但是没有效果,当在列表中使用断点时,我仍然看到一些行在开头或结尾有''n''t。如果有的话,我想把它们去掉。
我怀疑AllNews
的计数小于myl
中的行数,或者当您将其传递到此函数时,myl
中已经有一些行了。
如果是这种情况,那么计数将不匹配,并且您不会为集合中的每个元素获得迭代,因此,并非所有元素都会应用替换。
我会把它改写成:
private void listtostringlist(List<NewsLine> lnl, List<string> myl)
{
for (int i = 0; i < AllNews.Count; i++)
{
myl.Add(AllNews[i].text);
// etc...
}
for(int i = 0; i < myl.Count; i++)
{
myl[i] = Regex.Replace(myl[i], @"'t|'n|'r", "");
}
}
此外,正如评论中所指出的,您还在for
循环中多次向myl
添加:
myl.Add(AllNews[i].text);
myl.Add(results);
myl.Add(AllNews[i].link);
这将意味着AllNews
和myl
的计数将不同步,因此在给定上下文的情况下,索引器i
对myl
是无用的。