C# Особенности метода String.Split()

263
23 октября 2017, 23:13

Можно ли как-либо сделать так, чтобы метод Split делил строку, когда встречает точку, но игнорировал, например "Mr."? Пример: Строка: "Mr.Dark and Mrs.Dark went out for a walk. I got home late." Надо получить: Строка 1: "Mr.Dark and Mrs.Dark went out for a walk" Строка 2: "I got home late"

Answer 1
static List<string> Split(string text)
{
    string r = "~";
    return text.Replace("Mr.", $"Mr{r}")
        .Replace("Mrs.", $"Mrs{r}")
        .Split(new[] { ". ", "? ", "! " }, StringSplitOptions.None)
        .Select(s => s.Replace($"Mr{r}", "Mr.")
        .Replace("Mrs" + r, "Mrs.")).ToList();
}

Смысл в том, что мы заменяем Mr. на (Mr~) затем используем метод Split() и меняем Mr~ обратно на Mr.

Используем:

string text = "Mr.Dark and Mrs.Dark went out for a walk. I got home late";
foreach (var i in Split(text))
{
    Console.WriteLine(i);
}

Резутьтат:

Mr.Dark and Mrs.Dark went out for a walk
I got home late
READ ALSO
Подскажите что я не так сделал?

Подскажите что я не так сделал?

Method 'BlueprintDataBlockITEM_TYPE

240
Работа с ftp через c#

Работа с ftp через c#

Нужно сделать простенький логин в систему через ftpРеализация примерно такая: Подключение к серверу > Поиск директории из textbox1 (название...

247
WCF: Metadata contains a reference that cannot be resolved: &#39;net.tcp://localhost:8733/&#39;

WCF: Metadata contains a reference that cannot be resolved: 'net.tcp://localhost:8733/'

Просле добавления serviceAuthorization nettcp binding не работает

268
Задание значения модели в mvc

Задание значения модели в mvc

Не получается задать значение полям модели в MVC aspnet

297