Удалите специальные символы в NSMutableAttributedString

В моем приложении, чтобы показать текст в CATextLayer(изменить цвета для символов), используя NSMutableAttributedString чтобы изменить цвета, я хочу удалить специальные символы в NSMutableAttributedString показать всплывающее окно, но не знал, как удалить специальные символы, чтобы помочь решить проблему

я хочу как этот тип о / п

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

3 ответа

Чтобы удалить такие символы, вы просто пишете что-то вроде этого:

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

Обратите внимание, что символ "записан как \" - он называется escape-последовательностью. Вот список таких специальных символов в C - http://msdn.microsoft.com/en-us/library/h21280bw(v=vs.80).aspx

Вы можете попробовать это, может это вписывается в ваш код:

 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];

Попробуйте это... Это может помочь вам.

NSMutableString *unfilteredString = @"!@#$%^&*()_+|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
NSCharacterSet *notAllowedChars = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"] invertedSet];
NSMutableString *resultString = [[unfilteredString componentsSeparatedByCharactersInSet:notAllowedChars] componentsJoinedByString:@""];
NSLog (@"Result: %@", resultString);
Другие вопросы по тегам