Как преобразовать это "\U202a+98\U00a0910\U00a0280\U00a05305\U202c" в строку?
Как конвертировать это \U202a+98\U00a0910\U00a0280\U00a05305\U202c
в чистую строку +989102805305
,
2 ответа
NSData *dataenc = [@"\u202a+98\u00a0910\u00a0280\u00a05305\u202c" dataUsingEncoding:NSUTF8StringEncoding];
NSString *encodevalue = [[NSString alloc]initWithData:dataenc encoding:NSUTF8StringEncoding];
NSLog(@"%@", encodevalue); // +98 910 280 5305
NSLog(@"%@", [[encodevalue componentsSeparatedByCharactersInSet:nonAsciiCharacterSet] componentsJoinedByString:@""]); // 989102805305
Похоже, вам трудно понять основную идею о том, что такое строка. Строка - это просто массив символов. Хорошая новость в том, что у вас уже есть набор символов. Теперь все, что вам нужно понять, это то, что это не конец истории - теперь вам нужно сохранить массив символов в переменную, которую мы называем строковым типом данных. Ваше понимание прояснится с большей практикой, но сейчас позвольте мне попытаться помочь вам. К счастью, есть много способов превратить это в строковый тип данных в iOS. NSString (и NSMutableString) в Какао позволяет с легкостью инициализировать, форматировать и добавлять строки.
//You can use the Objective-C literal
NSString *yourStringName = @"\U202a+98\U00a0910\U00a0280\U00a05305\U202c";
//Or you can use the Objective-C format methods
NSString *formatedString = [NSString stringWithFormat:@"My string is %@", yourStringName];
если ты NSLog
вне будет печатать My string is \U202a+98\U00a0910\U00a0280\U00a05305\U202c
Новый язык Swift дает вам несколько способов упаковать массив символов. В дополнение к NSString и всем фабричным методам, которые идут вместе с ним, у вас также есть встроенный тип данных String Swift. Интересно, что быстрая версия класса String на самом деле не является классом, а спроектирована как быстрая структура. Узнайте больше о быстрых классах и структурах здесь.
//The swift (and straight forward) String literal
var yourStringName = "\U202a+98\U00a0910\U00a0280\U00a05305\U202c"
//Or you can use swift's own string interpolation
var interpolatedString = "My string is " + yourStringName
//Also you may still use the NSString methods
var formatedString: NSString = NSString(format: "My string is %@", yourStringName)
Оба из них будут println()
из My string is \U202a+98\U00a0910\U00a0280\U00a05305\U202c
Любой из этих способов позволит вам создавать строки в iOS/MacOSX. Я желаю вам удачи в изучении iOS и программировании в целом.