Подстрока со звездочками в NSString - PullRequest
2 голосов
/ 19 сентября 2011

Привет, друзья! Я хочу отобразить номер кредитной карты в ячейке табличного представления, поэтому я хочу отображать только последние четыре символа, такие как XXXXXXXXXX1111 Первые символы заменены на x или какой-либо другой символ. Как я могу это сделать?любой помогите мне
я пробовал как ниже

NSString *CardNumber = [CardNumberValues objectAtIndex:indexPath.row];
NSRange subStringRange = NSMakeRange(0,[CardNumber length]-4); 
NSMutableCharacterSet *NumSet = [NSMutableCharacterSet characterSetWithRange:subStringRange];
CardNumber = [[CardNumber componentsSeparatedByCharactersInSet:NumSet] componentsJoinedByString:@"X"];
cell.CardNumber.text = CardNumber;

, но это не работает, вы можете предложить любую ссылку или код ...

Ответы [ 2 ]

7 голосов
/ 19 сентября 2011

Используйте это

NSString *CardNumber = @"12345678901234";
NSString *str_padding=@"";
    NSRange subStringRange = NSMakeRange(0,[CardNumber length]-4); 
    str_padding =[str_padding stringByPaddingToLength:subStringRange.length withString:@"X" startingAtIndex:0];
    CardNumber = [CardNumber stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@",[CardNumber substringToIndex:subStringRange.length]] withString:str_padding];
    NSLog(@"%@",CardNumber);
0 голосов
/ 19 сентября 2011
NSString *cardNumber = [NSString stringWithFormat: @"XXXX-XXXX-XXXX-%@", [[CardNumberValues objectAtIndex:indexPath.row] subStringWithIndex:12]];
cell.CardNumber.text = cardNumber;

Я предполагаю, что номера карт состоят из 16 цифр.

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