Mic*_*per 4 c# linq linq-to-objects
一个快速的脑筋急转弯:给一个字符串
This is a string with repeating spaces
Run Code Online (Sandbox Code Playgroud)
LINQ表达的最终结果是什么?
This is a string with repeating spaces
Run Code Online (Sandbox Code Playgroud)
谢谢!
作为参考,这是一种非LINQ方式:
private static IEnumerable<char> RemoveRepeatingSpaces(IEnumerable<char> text)
{
bool isSpace = false;
foreach (var c in text)
{
if (isSpace && char.IsWhiteSpace(c)) continue;
isSpace = char.IsWhiteSpace(c);
yield return c;
}
}
Run Code Online (Sandbox Code Playgroud)
Pau*_*sey 14
这不是linq类型的任务,使用正则表达式
string output = Regex.Replace(input," +"," ");
Run Code Online (Sandbox Code Playgroud)
当然,您可以使用linq将其应用于字符串集合.
public static string TrimInternal(this string text)
{
var trimmed = text.Where((c, index) => !char.IsWhiteSpace(c) || (index != 0 && !char.IsWhiteSpace(text[index - 1])));
return new string(trimmed.ToArray());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2686 次 |
| 最近记录: |