2012-11-20 61 views
-1

在我的應用程序,以顯示CATextLayer文本(改變顏色的字符)刪除特殊字符,使用NSMutableAttributedString改變顏色,我想在NSMutableAttributedString去除特殊字符顯示彈出的觀點,但不知道如何刪除特殊字符,以幫助解決問題在NSMutableAttributedString

我想這樣的O型/ p

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

回答

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

+0

IAM的解釋,我想NSMutableAttributedString沒有的NSMutableString,的NSMutableString未設置爲CATextLayer – NANNAV

+0

只是使用的NSMutableString首先,去掉不必要的字符,然後使用修改的NSMutableString創建NSMutableAttributedString。 –

0

試試這個......這可能對您有幫助。

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

如何在CATextLayer中使用NSMutableString,你使用NSMutableAttributedString – NANNAV

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

閱讀我的問題,你知道在哪裏使用NSMutableAttributedString – NANNAV

相關問題