Заменить символ в строке - PullRequest
       4

Заменить символ в строке

1 голос
/ 29 октября 2011

У меня есть NSMutableString @"hello". Я хотел бы заменить символ на второй позиции 'e' на 'a', чтобы он читался как @"hallo". Как мне это сделать?

Я пытался реализовать шифр сдвига, но он выдает IndexOutBoundsException

- (NSString*)encode:(NSString*)original withShift:(int)shift {

    NSMutableString* encoded = [NSMutableString stringWithString:original];
    for (int i=0; i < [encoded length]; i++) {
        char oriChar = [encoded characterAtIndex:i];
        if (oriChar == ' ') {
            continue;
        }
        char encChar = ((oriChar - LETTER_POS) + shift) % ALPHABET_LENGTH + LETTER_POS;

        NSRange range = {i, i};
        [encoded replaceCharactersInRange:range withString:[NSString stringWithUTF8String:&encChar]];

    }
    return encoded;

}

Ответы [ 2 ]

3 голосов
/ 29 октября 2011
NSRange r = {1,1}; //String indexing is 0-based
[s replaceCharactersInRange: r withString:@"a"]

Также научитесь пользоваться онлайн-справочником.

2 голосов
/ 29 октября 2011

Вы можете использовать stringByReplacingOccurrencesOfString:withString: из NSString .

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