先上個例子:
NSString * str1 =[nameInput.textstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]];
NSString * str2 =[passwdInput.textstringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]];
[self.delegate loginActionInView:self?name:str1?passwd:str2];
?
在ios中 可以使用stringByTrimmingCharactersInSet函數過濾字符串中的特殊符號
?
首先自己定義一個NSCharacterSet, 包含需要去除的特殊符號
????
NSCharacterSet?*set = [NSCharacterSet?characterSetWithCharactersInString:@"@/:;()¥「」"、[]{}#%-*+=_\\|~<>$€^?'@#$%^&*()_+'\""];
?
由于NSString中有全角符號和半角符號, 因此有些符號要包括全角和半角的
?
然后調用stringByTrimmingCharactersInSet
?
NSString?*trimmedString = [string?stringByTrimmingCharactersInSet:set];
?
trimmedString就是過濾后的字符串
去除?username中的空格,table newline,nextline?
代碼如下:(三行代碼)?
NSCharacterSet *whitespace = [NSCharacterSet??whitespaceAndNewlineCharacterSet];?
NSString *?username?= [mUsernameField??stringValue];?
username = [username??stringByTrimmingCharactersInSet:whitespace];?
注釋:?
stringByTrimmingCharactersInSet:?
Returns a new string made by removing from both ends of the receiver characters contained in a given character set.?
whitespaceAndNewlineCharacterSet?
Returns a character set containing only the whitespace characters space (U+0020) and tab (U+0009) and the newline and nextline characters (U+000A–U+000D, U+0085).?
另外可以用?whitespaceCharacterSet?替換?whitespaceAndNewlineCharacterSet?區別newline nextline?
whitespaceCharacterSet?
Returns a character set containing only the in-line whitespace characters space (U+0020) and tab (U+0009).
?
?
NSString *temptext = [messageTextField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSString *text = [temptext stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet ]];
第1行是去除2端的空格