How to convert this \U202a+98\U00a0910\U00a0280\U00a05305\U202c
to pure string +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 中将其转换为字符串数据类型。Cocoa 中的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 和随之而来的所有工厂方法之外,您还拥有 swift 内置的String数据类型。有趣的是,String 类的 swift 版本并不是真正的类,而是构建为 swift结构。在此处了解有关 swift 类和结构的更多信息。
//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 以及一般编程的过程中一切顺利。