关于正则表达式的任何想法需要删除 3 个或更少字母的单词?所以它会找到“ii it was bbb cat rat hat”等,而不是“四个、三个、两个”。
最佳答案
我要在这里冒险,向你抛出一个非正则表达式的解决方案:
public static string StripWordsWithLessThanXLetters(string input, int x)
{
var inputElements = input.Split(' ');
var resultBuilder = new StringBuilder();
foreach (var element in inputElements)
{
if (element.Length >= x)
{
resultBuilder.Append(element + " ");
}
}
return resultBuilder.ToString().Trim();
}
这比其他解决方案更冗长,但我认为使用 Linq 解决方案的性能成本可能超过其净 yield ,并且正则表达式产生相同的成本(可能维护起来更复杂)。