连接字符串数组的其余部分

本文关键字:余部 字符串 数组 连接 | 更新日期: 2023-09-27 17:59:58

private static string SetValue(string input, string reference)
{
    string[] sentence = input.Split(' ');
    for(int word = 0; word<sentence.Length; word++)
    {
        if (sentence[word].Equals(reference, StringComparison.OrdinalIgnoreCase))
        {
            return String.Join(" ", sentence.subarray(word+1,sentence.Length))
        }
    }
}

如何轻松地完成sentence.subarray(word+1,sentence.Length),或者用另一种方式来完成?

连接字符串数组的其余部分

String.Join有一个专门用于此的过载:

return String.Join(" ", sentence, word + 1, sentence.Length - (word + 1));

您可以将过载Whereindex:一起使用

return string.Join(" ", sentence.Where((w, i) => i > word));

如果您正在严格寻找独立于字符串的子数组解决方案。Join((函数,并且您使用的是支持Linq的.NET版本,那么我可以推荐:

sentence.Skip(word + 1);

或者,您可以使用SkipWhile而不是for循环。

private static string SetValue(string input, string reference)
{
    var sentence = input.Split(" ");
    // Skip up to the reference (but not the reference itself)
    var rest = sentence.SkipWhile( 
        s => !s.Equals(reference, StringComparison.OrdinalIgnoreCase));
    rest = rest.Skip(1); // Skip the reference
    return string.Join(" ", rest);
}