Записать в строку только те предложения, которые не содержат ком и двоеточий - C#
Формулировка задачи:
Доброго времени суток. Есть задание, не могу придумать алгоритм решения(помогите идеей или кодом). Заранее спасибо.
Написать программу, в которой есть две строки. В первую строку пользователь вводит текст, во вторую программа записывает с первой только те предложения, которые не содержат ком и двоеточий.
Костыли и велосипеды, я просто оставлю это здесь (может кому понадобится)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string str = "Большое видится на расстоянье.\n" +
"Когда кипит морская гладь -\n" +
"Корабль в плачевном состоянье.\n" +
"Земля - корабль!\n" +
"Но кто - то вдруг,\n" +
"За новой жизнью, новой славой.\n" +
"В прямую гущу бурь и вьюг.\n" +
"Ее направил величаво.\n" +
"Ну кто ж из нас на палубе большой.\n" +
"Не падал, не блевал и не ругался?\n" +
"Их мало, с опытной душой.\n" +
"Кто крепким в качке оставался.";
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
Console.WriteLine(str);
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
string str2 = "", str3 = "";
int k = str.Length;
for (int i = 0; i < k; i++)
{
str2 = str2 + str[i];
if (str[i] == '!' || str[i] == '.' || str[i] == '?')
{
int l = str2.Length;
for (int m = 0; m < l; m++)
{
if (str2[m] == ',' || str2[m] == ':')
{
str2 = "";
break;
}
}
str3 = str3 + str2;
str2 = "";
}
}
Console.WriteLine(str3);
str3 = "";
Console.ReadLine();
}
}
}Решение задачи: «Записать в строку только те предложения, которые не содержат ком и двоеточий»
textual
Листинг программы
string str = "Большое видится на расстоянье.\n" +
"Когда кипит морская гладь -\n" +
"Корабль в плачевном состоянье.\n" +
"Земля - корабль!\n" +
"Но кто - то вдруг,\n" +
"За новой жизнью, новой славой.\n" +
"В прямую гущу бурь и вьюг.\n" +
"Ее направил величаво.\n" +
"Ну кто ж из нас на палубе большой.\n" +
"Не падал, не блевал и не ругался?\n" +
"Их мало, с опытной душой.\n" +
"Кто крепким в качке оставался.";
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
Console.WriteLine(str);
Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
Console.WriteLine(string.Join("\n",str.Split(new char[] { '\n' },StringSplitOptions.RemoveEmptyEntries).Where(x=>!x.Contains(',') && !x.Contains(':'))));
Console.ReadLine();