Удалите специальные символы в 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);