Сравнение строк с нахождением разницы - C#
Формулировка задачи:
Столкнулся со следующей задачей. Необходимо проверить две строки ( первая строка эталон, вторая с возможными изменениями) и заменить совпадения на "+", а несопадения на "-".
Пример строк:
Эталон: сравнить
Входная строка: ср{о}вн{яя}ть
Ломаю себе голову как это сделать. Буду рад наглядному коду или хотя бы алгоритму. Заранее спасибо.
Решение задачи: «Сравнение строк с нахождением разницы»
textual
Листинг программы
using System;
class Prototype
{
static void Main()
{
string str = "сравнить";
string str2 = "ср{и}вн{яя}ть";
char[] ch = str2.ToCharArray();
for (int i = 1; i < ch.Length; i++)
{
if (ch[i - 1] == '{')
{
for (int j = i; j < ch.Length; j++)
{
if (ch[j] != '}')
{
if (str.Contains(Convert.ToString(ch[j])))
ch[j] = '+';
else
ch[j] = '-';
}
else
{
i = j;
break;
}
}
}
}
foreach (var x in ch)
{
Console.Write(x);
}
Console.ReadKey();
}
}