Как сравнить вторую букву?

Я использую RegexKitLite FrameWorks.

NSString *str = [NSString stringWithString:@"Welcome"];
NSString *newStr [NSString string];

//RegexKitLite.h reference.
newStr = [str stringByReplacingOccurrencesOfRegex:<How To Expression?> withString:@"?"];

Я хочу "Welcome" преобразовать в => "W??????"; В целом, для Apple, Banana Cake, Love, Peach, Watermelon... я хочу скрыть

Apple => A???? 
Banana => B????? 
Cake => C??? 
Love => L??? 

Я делаю этот шаблон (только для HeadLetter Show)... Все слова хранятся в NSMutableArray, поэтому я получаю доступ

[arr objectAtIndex:i] stringByReplacingOccurrencesOfString:<Expression> withString:@"?"];

Как сравнить вторую букву с регулярным выражением?

2 ответа

Решение

Вам не нужно использовать регулярное выражение для этого. Просто делай

NSString *str = [NSString stringWithString:@"Welcome"];
NSString *newStr = [str stringByReplacingOccurrencesOfString:@"Welcome" withString:@"W??????"];

Для получения дополнительной информации также см. NSString метод stringByReplacingOccurrencesOfString:withString:options:range:


Для более общего случая, который вы описываете, это может быть достигнуто аналогичным NSString методы, например

NSString *newStr = [[str substringToIndex:1] stringByPaddingToLength:str.length 
                                                          withString:@"?" 
                                                     startingAtIndex:0];

Глядя на ваш вопрос, я не уверен, почему вы настаиваете на использовании reg-ex?

[NSString characterAtIndex:] позволит вам посмотреть на определенный символ в любой позиции строки.

Другие вопросы по тегам