删除NSMutableAttributedString中的特殊字符

时间:2012-11-20 13:10:00

标签: iphone ios nsattributedstring catextlayer

在我的应用中显示CATextLayer中的文字(更改字符的颜色),使用NSMutableAttributedString更改颜色,我想删除NSMutableAttributedString中的特殊字符以显示PopUp视图,但是没有不知道如何删除特殊字符,以帮助解决问题

我想要这种类型的o / p

"code" to code  //in NSMutableAttributedString, not in NSString

3 个答案:

答案 0 :(得分:1)

要删除这些字符,您只需编写如下内容:

NSMutableString* mutableString = ...;
[mutableString replaceOccurrencesOfString:@"\"" withString:@"" options:0 range:NSMakeRange(0, mutableString.length)];

注意符号"写成\" - 这个被称为逃脱序列。 以下是C - http://msdn.microsoft.com/en-us/library/h21280bw(v=vs.80).aspx

中此类特殊字符的列表

答案 1 :(得分:0)

试试这个......这可能会对你有帮助。

NSMutableString *unfilteredString = @"!@#$%^&*()_+|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
NSCharacterSet *notAllowedChars = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"] invertedSet];
NSMutableString *resultString = [[unfilteredString componentsSeparatedByCharactersInSet:notAllowedChars] componentsJoinedByString:@""];
NSLog (@"Result: %@", resultString);

答案 2 :(得分:0)

您可以试试这可能适合您的代码:

 NSMutableString *mutableStrng = [NSMutableString stringWithCapacity:1000];
[mutableStrng setString:@"my name is i#pho#ne"];

[mutableStrng replaceOccurrencesOfString:@"#" withString:@"" options:0 range:NSMakeRange(0,
 mutableStrng.length)];
NSMutableAttributedString *mutableAtrString = [[NSMutableAttributedString
 alloc]initWithString:mutableStrng];