ios开发之字符串操作(四)

解析字符串

解析为多种类型(数组,字典…)

- (id)propertyList;

解析为字典

- (nullable NSDictionary *)propertyListFromStringsFileFormat;
NSString *str=@"<dict><key>name</key><string>nm</string><key>age</key><string>12</string></dict>";

id list=[str propertyList];

NSLog(@"list = %@",list);

NSDictionary *dict=[str propertyListFromStringsFileFormat];

NSLog(@"dict = %@",dict);

输出

2017-03-23 05:11:15.573 objc-base[4026:721173] list = {
    age = 12;
    name = nm;
}
2017-03-23 05:11:15.575 objc-base[4026:721173] dict = {
    age = 12;
    name = nm;
}

字符串翻译

- (nullable NSString *)stringByApplyingTransform:(NSStringTransform)transform 
reverse:(BOOL)reverse

进行字符串的翻译工作。
参数transform表示翻译的方式,参数reverse是个BOOL类型,reverse为true时,可以反过来转换。

typedef NSString *NSStringTransform NS_EXTENSIBLE_STRING_ENUM;

FOUNDATION_EXPORT NSStringTransform const NSStringTransformLatinToKatakana
//拉丁文转片假名(日语)
FOUNDATION_EXPORT NSStringTransform const NSStringTransformLatinToHiragana
//拉丁文转平假名(日语)
FOUNDATION_EXPORT NSStringTransform const NSStringTransformLatinToHangul
//拉丁文转韩语
FOUNDATION_EXPORT NSStringTransform const NSStringTransformLatinToArabic
//拉丁文转阿拉伯语
FOUNDATION_EXPORT NSStringTransform const NSStringTransformLatinToHebrew
//拉丁文转希伯来语
FOUNDATION_EXPORT NSStringTransform const NSStringTransformLatinToThai
// 拉丁文转泰语
FOUNDATION_EXPORT NSStringTransform const NSStringTransformLatinToCyrillic
//拉丁文转西里尔语
FOUNDATION_EXPORT NSStringTransform const NSStringTransformLatinToGreek
//拉丁文转希腊语
FOUNDATION_EXPORT NSStringTransform const NSStringTransformToLatin
//转成拉丁文
FOUNDATION_EXPORT NSStringTransform const NSStringTransformMandarinToLatin
//普通话转拉丁文
FOUNDATION_EXPORT NSStringTransform const NSStringTransformHiraganaToKatakana
//平假名(日语)转片假名(日语)
FOUNDATION_EXPORT NSStringTransform const NSStringTransformFullwidthToHalfwidth
//全角转半角
FOUNDATION_EXPORT NSStringTransform const NSStringTransformToXMLHex
//转成XML十六进制字符
FOUNDATION_EXPORT NSStringTransform const NSStringTransformToUnicodeName
//为Unicode字符命名
FOUNDATION_EXPORT NSStringTransform const NSStringTransformStripCombiningMarks
//去掉结合符号(重音和变音符)
FOUNDATION_EXPORT NSStringTransform const NSStringTransformStripDiacritics
//去掉变音符
NSString *str=@"你好,世界!";

NSString *str1=[str stringByApplyingTransform:NSStringTransformToLatin reverse:NO];

NSLog(@"str = %@",str1);

输出

2017-03-23 05:31:29.850 objc-base[4063:733375] str = nǐ hǎo, shì jiè!

获取Unicode范式标准化字符串

获取Unicode范式D标准化字符串

@property (readonly, copy) NSString *decomposedStringWithCanonicalMapping;

获取Unicode范式KD标准化字符串

@property (readonly, copy) NSString *decomposedStringWithCompatibilityMapping;

获取Unicode范式C标准化字符串

@property (readonly, copy) NSString *precomposedStringWithCanonicalMapping;

获取Unicode范式KC标准化字符串

@property (readonly, copy) NSString *precomposedStringWithCompatibilityMapping;
NSString *str=@"你好,世界!";

NSLog(@"%@",[str decomposedStringWithCanonicalMapping]);

NSLog(@"%@",[str precomposedStringWithCanonicalMapping]);

NSLog(@"%@",[str decomposedStringWithCompatibilityMapping]);

NSLog(@"%@",[str precomposedStringWithCompatibilityMapping]);

输出

2017-03-24 04:54:59.130 objc-base[4156:738221] 你好,世界!
2017-03-24 04:54:59.132 objc-base[4156:738221] 你好,世界!
2017-03-24 04:54:59.157 objc-base[4156:738221] 你好,世界!
2017-03-24 04:54:59.158 objc-base[4156:738221] 你好,世界!

折叠字符串

- (NSString *)stringByFoldingWithOptions:(NSStringCompareOptions)options 
locale:(nullable NSLocale *)locale
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值