Split строки с использованием регулярных выражений в прошивкойРегулярное выражение раскалывается из NSString - IOS
Я решил эту проблему с помощью петель, однако хотелось бы более чистый ответ, и я надеюсь, что рег ехе гуру может помочь мне.
Моей исходная строка может быть как следующего
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 отдельные новые строки:
- Номер с или с завершающим «а» или «б» , удалите пробел между ними, если существует
- Имя лица, возможно, капитальный или нет, то есть г-н кузнец или миссис Джонс и т. д.
- После есть ноль или более слов, чтобы быть в конечной строке
Например
- 123а господин, который вот некоторые слова
- 124 б MRS Джоунс п/р
- 654 г Foo
- 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 a, 123b)
- Имя лица, с или без привета (г-н Джоунс, Джонсом)
- Имя лица может быть неизвестно, - следовательно, точный текст «п/р»
- После имени является строкой п длины, которая будет end с a \ n (это набор слов \ n).
Удаление пустого пространства из 123 в 123а является идеальным, но не основным требованием
Вы должны включить свое решение, используя циклы. Это, вероятно, хорошая отправная точка для других ответов. –
У вас есть строгий шаблон для названия? Что, если меня зовут «Леди Клоэ Мёдугал» или «Κύριε Δημήτρης Παπαφιλίππου?» –
@JamesWebster Я думаю, что это беспорядочно и просто смутило бы на самом деле, поэтому причина, по которой я хочу отказаться от нее. Имена являются основными для того, что мне нужно, т. Е. Mr jones (возможно, capitals) с не будут похожими на примеры, которые вы показали. Итак, приветствие и фамилия. Это также может быть «n/p» (неизвестное имя - точно так, как показано n/p). Там могут быть и не быть Mr/Mrs/Ms и т. Д., Может быть просто Джонс. Названию всегда предшествует 3-значное число (с или без a/b, то есть 650; 605a; 605 b) Надежда, которая помогает добавить ясность. – DogCoffee