如何从Objective C中的NSString中删除尾随特殊字符?

时间:2013-11-21 03:10:41

标签: ios objective-c

如何从Objective C中删除NSString中的尾随特殊字符?

  

实施例

     
    

http://www.stackoverflow.com/// - > http://www.stackoverflow.com
    http://www.stackoverflow.com。 - > http://www.stackoverflow.com
    http://www.stackoverflow.com ... - > http://www.stackoverflow.com

  

(适用更新)

通过特殊字符,我的意思是不在字母表中而不是数字。

3 个答案:

答案 0 :(得分:4)

假设从字符串的开头删除那些特殊字符也是安全的,你可以使用-stringByTrimmingCharactersInSet:

NSCharacterSet *special = [[NSCharacterSet alphanumericCharacterSet] invertedSet];
[string stringByTrimmingCharactersInSet:special];

答案 1 :(得分:1)

如果您想使用正则表达式:

NSString *result = [string stringByReplacingOccurrencesOfString:@"[^A-Za-z0-9]*$"
                                                     withString:@""
                                                        options:NSRegularExpressionSearch
                                                          range:NSMakeRange(0, [string length])];

答案 2 :(得分:0)

这是你在正则表达式中的表现方式。您可以通过更改regex

来调整要剪裁的字符
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[^a-zA-Z0-9]*$" options:0 error:NULL];
NSString *string = // your string
NSString *modifiedString = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@""];