Проверить текст на правильность расстановки знаков препинания и, если необходимо, внести в текст изменения - C#
Формулировка задачи:
По правилу расстановки знаков препинания перед каждым знаком препинания пробел отсутствует,
а после него обязательно стоит пробел. Учитывая данное правило, проверьте текст на правильность
расстановки знаков препинания и, если необходимо, внесите в текст изменения.
Видел тут эту задачу, но там какое-то странное решение с классами. Без этого простенько можно?
Срочно надо очень, ЗАРАНЕЕ ОГРОМНОЕ СПАСИБО!
Решение задачи: «Проверить текст на правильность расстановки знаков препинания и, если необходимо, внести в текст изменения»
textual
Листинг программы
static void Main(string[] args)
{
int a=0;
string newstr;
string znaki = ",.!?";
string prob = " ";
char[] s = znaki.ToCharArray();
char[] pr = prob.ToCharArray();
StreamReader reader = new StreamReader(@"C:\223.txt", Encoding.Default);
newstr = (reader.ReadToEnd());
reader.Close();
for (int i = 0; i < newstr.Length; i++)
for (int j = 0; j < s.Length; j++)
{
if (newstr[i] == pr[0] && newstr[i + 1] == s[j])
{
newstr = newstr.Remove(i, 1);
a++;
}
}
for (int i = 0; i < newstr.Length; i++)
for (int j = 0; j < s.Length; j++)
{
if (newstr[i] == s[j] && newstr[i + 1] != pr[0])
{
newstr = newstr.Insert(i + 1, " ");
a++;
}
}
if (a == 0)
Console.WriteLine("Ошибок в тексте не обнаруженно.");
else
Console.WriteLine("Ошибки в тексту обнаруженны и исправленны");
StreamWriter writer = new StreamWriter(@"C:\223.txt", false, Encoding.Default);
writer.Write(newstr);
writer.Close();
Console.ReadKey();
}