Get matching sub sequences

CSharp · Console

/Program.cs

using System;
using System.Linq;
					
public class Program
{
	public static void Main()
	{
	string[] myWords = { "Arizona", "District", "Court", "is", "located", "at", ".", "District", "court", "closed" };
	string phraseToFind = "Arizona District Court";
	string[] phrases = phraseToFind.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);

	int[] firstMatchingSequenceIndexes = Enumerable.Range(0, myWords.Length)
		.Where(index => myWords.Skip(index).Take(phrases.Length).SequenceEqual(phrases))
		.Select(index => Enumerable.Range(index, phrases.Length).ToArray())
		.DefaultIfEmpty(null)
		.First();
		firstMatchingSequenceIndexes.Dump();
	}
}
;