-1

私のアプリでは、テキストを表示するCATextLayer(文字の色を変更する)、色NSMutableAttributedStringを変更するために、特殊文字を削除してポップアップ ビューを表示したいのですNSMutableAttributedStringが、問題を解決するために特殊文字を削除する方法がわかりませんでした。

このタイプのo/pが欲しい

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

3 に答える 3

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

于 2012-11-20T13:17:49.830 に答える
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];
于 2012-11-20T13:38:04.430 に答える
0

これを試してみてください...これが役立つかもしれません。

NSMutableString *unfilteredString = @"!@#$%^&*()_+|abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
NSCharacterSet *notAllowedChars = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"] invertedSet];
NSMutableString *resultString = [[unfilteredString componentsSeparatedByCharactersInSet:notAllowedChars] componentsJoinedByString:@""];
NSLog (@"Result: %@", resultString);
于 2012-11-20T13:26:18.327 に答える