Разделение регулярных выражений NSString - iOS

Разделить строку с помощью регулярного выражения в iOS

Я решил эту проблему с помощью циклов, однако хотел бы более четкого ответа, и я надеюсь, что гуру reg exe сможет мне помочь.

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

NSString *originalString = @"343 a mr smith needs this work";

NSString *originalStringVerTwo = @"345a mr jones needs this work as well";

NSString *originalStringVerThree = @"345 Mrs Someone";

Мне нужно разделить на 3 отдельные новые строки:

Номер с или с последующим "а" или "б", удалите пробел между, если существуетИмя человека, может быть, заглавная или нет, например, мистер Смит или миссис Джонс и т. Д.После этого ноль или более слов должны быть в последней строке

Например

123a г-н, кто здесь несколько слов124 миссис джонс н / п654 Мистер Фу123 Джонс н / п345 н / п

Должно привести к следующему

строка 1

NSString *one = 123a
NSString *two = mr who
NSString *three = here are some words

строка 2

NSString *one = 124b // i want the white space removed between number and digit
NSString *two = mrs jones
NSString *three = n/p

строка 3

NSString *one = 654
NSString *two = Mr Foo
NSString *three = @""

строка 4

NSString *one = 123
NSString *two = Jones
NSString *three = n/p

строка 5

NSString *one = 345
NSString *two = n/p
NSString *three = @""

Константы будут

3-значный номер с или без "а" «Б» (123, 123 а, 123b)Имя человека, с приветствием или без (мистер Джонс, Джонс)Имя человека может быть неизвестно - отсюда и точный текстп / р»За именем следует строка длиной n, которая оканчивается на \ n (это набор слов \ n).

Удаление пустого пространства от 123а до 123а является идеальным, но не основным требованием

Ответы на вопрос(1)

Ваш ответ на вопрос