Слияние двух строк по словам в конце в первой и начале второй - C#
Формулировка задачи:
нужно зделать програму что плюсует 2 строки , с выключениям одинаковых слов в конце 1-го с началом 2-го, например
"А и Б сидели на " и "сидели на трубе" а выход "А и Б сидели на трубе", нужнто то бы именно универсально что б я не написав она давало общий текст без повторений!
Решение задачи: «Слияние двух строк по словам в конце в первой и начале второй»
textual
Листинг программы
static string Combine(string s1, string s2)
{
string[] words1 = s1.Trim().Split();
string[] words2 = s2.Trim().Split();
int startIdx = Array.FindIndex(words1, w => w.Equals(words2[0], StringComparison.OrdinalIgnoreCase));
if (startIdx != -1)
{
int sameWords = words1.Length - startIdx;
if (words1.Skip(words1.Length - sameWords).SequenceEqual(words2.Take(sameWords), StringComparer.OrdinalIgnoreCase))
{
var result = words1.Concat(words2.Skip(sameWords));
return string.Join(" ", result);
}
}
return s1 + s2;
}