Мое приложение помещает пробел после «:» в случае, если пользователь забудет. Например:Как заменить замененный NSString некоторые старые символы?
input = [input stringByReplacingOccurrencesOfString:@":" withString:@": "];
Это хорошо работает, если они печатают на английском языке. Это сделает «Мои друзья: Джеймс» в «Мои друзья: Джеймс ...», и все в порядке.
НО проблема, с которой я столкнулась, - это также реклама места за время. Это сделает «12:30» в «12: 30». Я мог бы собрать кучу этих кодов со всеми возможными возможностями для исправления, что слишком много.
input = [input stringByReplacingOccurrencesOfString:@": 0" withString:@":0"];
Что такое более простой способ сделать это? Я пробовал:
input = [input stringByReplacingOccurrencesOfString:@"\\b\\d\\d?:\\s\\d\\d\\b" withString:@"\\b\\d\\d?:\\d\\d\\b" options: NSRegularExpressionSearch range:NSMakeRange(0, [input length])];
Но все, что делает это изменить все времена от «чч: мм» до «BDD?: DDB» и это все. как сделать замену NSString сохранить предыдущие символы? Как я могу заставить его по-прежнему сохранять те же самые числа, которые были ранее поставлены? Все, что я хочу изменить, это «:», чтобы быть «:» за раз.
Я пробовал заявления «если» с помощью NSNotFound, но он не работал. Я хотел, чтобы, если он нашел формат «hh: mm», чтобы НЕ добавить пробел, но если это не так, добавьте пробел, но это не сработало.
'NSRegularExpression' может быть решением. – Larme