Найти слова с помощью regEx, а затем добавить пробелы между ними с помощью Objective-c - PullRequest
2 голосов
/ 08 марта 2011

Мне было интересно, как добавить пробелы между буквами / цифрами в строку с Objective-C.

У меня пример кода вроде работает в данный момент.По сути, я хочу превратить "West4thStreet" в "West 4th Street".

NSString *myText2 = @"West4thStreet"; 
NSString *regexString2 = @"([a-z.-][^a-z .-])"; 

for(NSString *match2 in [myText2 componentsMatchedByRegex:regexString2 capture:1L]) { 

    NSString *myString = [myText2 stringByReplacingOccurrencesOfString:match2 withString:@" "]; 
    NSLog(@"Prints out: %@",myString); // Prints out: Wes thStreet // Prints out: West4t treet   

}

Так что в этом примере он заменяет то, что я нашел в regEx ("t4" и "hS"), пробелами.Но я просто хочу добавить пробел между буквами, чтобы отделить слова.

Спасибо!

1 Ответ

1 голос
/ 08 марта 2011

Если вы заключите части своих шаблонов регулярных выражений в круглые скобки, вы можете ссылаться на них как $ 1, $ 2 и т. Д. В строке замены (шаблоны нумеруются слева направо в порядке их открытия в скобках).

NSString *origString = @"West4thStreet";
NSString *newString = [origString stringByReplacingOccurrencesOfRegex:@"(4th)" withString:@" $1 "];

Не уверен, что я понимаю ваш более широкий вариант использования, но это должно, по крайней мере, помочь вам ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...