Sam*_*tar -3 .net c# linq ienumerable projection
我有这个代码用于处理IEnumerable<string>文本中的字符串
foreach (var line in text)
{
var newLine = "";
var ln = line.TrimStart(' ');
var colon = line.IndexOf(":");
if (colon != -1)
{
if (ln.StartsWith("adj")) newLine = "j 1" + line.Substring(colon);
else if (ln.StartsWith("adv")) newLine = "d 1" + line.Substring(colon);
else if (ln.StartsWith("n")) newLine = "n 1" + line.Substring(colon);
else if (ln.StartsWith("v")) newLine = "v 1" + line.Substring(colon);
}
else
{
newLine = line;
}
}
Run Code Online (Sandbox Code Playgroud)
现在它只是循环通过IEnumerable但我想要的是它创建另一个IEnumerable<string>字符串只是内容newLine.Trim()
任何人都可以告诉我如何做到这一点?
您可以使用 Select
var result = text.Select(line =>
{
var newLine = "";
var ln = line.TrimStart(' ');
var colon = line.IndexOf(":");
if (colon != -1)
{
if (ln.StartsWith("adj")) newLine = "j 1" + line.Substring(colon);
else if (ln.StartsWith("adv")) newLine = "d 1" + line.Substring(colon);
else if (ln.StartsWith("n")) newLine = "n 1" + line.Substring(colon);
else if (ln.StartsWith("v")) newLine = "v 1" + line.Substring(colon);
}
else
{
newLine = line;
}
return newLine.Trim();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
130 次 |
| 最近记录: |