2011-09-26 128 views
0

我正在做推送通知应用程序,我正在获取设备标记< 8c09362c 82d6b735 c82fb2d9 8070db6f f73419b3 9da15e34 72aba570 6fbf5a45>,我从NSData获得设备标记,已成功转换为NSString,但是我只是需要从NSString的如何从NSString中删除特殊字符

+0

看起来你正在使用NSData的描述方法,不,它是指人类可读性,而不是程序的使用。 – zaph

+0

是的。 'description'不能保证在下一个iOS版本中产生相同的输出。 –

回答

2

有很多的方式来实现这一目标:

一个可以使用的方式bigkm节目。第二个Empty Stack也提出了一个更好的方法。

这里是另一种方式:

NSString *dataToken = @"<8c09362c 82d6b735 c82fb2d9 8070db6f f73419b3 9da15e34 72aba570 6fbf5a45>"; 
NSString *str = [dataToken stringByReplacingOccurrencesOfString:@"<" withString:@""]; 
str = [str stringByReplacingOccurrencesOfString:@">" withString:@""]; 
1

简单

NSString *dataToken = @"<8c09362c 82d6b735 c82fb2d9 8070db6f f73419b3 9da15e34 72aba570 6fbf5a45>"; 
NSString *token = [dataToken substringWithRange:NSMakeRange(1, [dataToken length]-2)]; 
14

如果你只是想从一个字符串修剪某些字符除去第一和最后一个特殊字符<>,您可以用NSCharacterSetstringByTrimmin gCharactersInSet:方法NSString

NSCharacterSet *chs = [NSCharacterSet characterSetWithCharactersInString:@"<>"]; 
string = [string stringByTrimmingCharactersInSet:chs]; 
+0

+1正是我需要的。谢谢 :) –