关于正则表达式的任何想法需要删除 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 ,并且正则表达式产生相同的成本(可能维护起来更复杂)。

10-06 07:35
查看更多