Как разделить список имен (с названием и фамилией), где они разделяются только пробелом? - PullRequest
1 голос
/ 11 декабря 2011

У меня есть кусок текста, который мне нужно разделить со списком названий и фамилий, содержащихся в нем. Все они разделены пробелами, возврат каретки вообще отсутствует.

Например:

Мистер Смит Мистер Джонсон Миссис Джонсон Мисс Смит и так далее и тому подобное

Мне нужно разбить их на отдельные имена, чтобы у меня было что-то вроде следующего

[0] = Мистер Смит
[1] = Мистер Джонсон
[2] = Миссис Джонсон
[3] = мисс Смит

Любая помощь будет принята с благодарностью.

Я использую .NET Framework C # (на тот случай, если это кому-нибудь пригодится).

Ответы [ 2 ]

4 голосов
/ 11 декабря 2011

Я бы попробовал

var result = Regex.Split(input, @" (?=Mr\b|Mrs\b|Ms\b)", RegexOptions.None);

если каждый заголовок действительно один из "Мистер", "Миссис" или "Мисс". Этот подход допускает довольно много необычных фамилий, но должен знать каждый заголовок заранее. Смотрите его в действии на ideone.com

0 голосов
/ 11 декабря 2011

Используйте следующее

string[] parts =
  Regex.Matches(myarray[0], "([^\s]*\s[^\s]*)(?:\s |$)")
  .Cast<Match>()
  .Select(m => m.Groups[1].Value)
  .ToArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...