如何从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
(适用更新)
通过特殊字符,我的意思是不在字母表中而不是数字。
答案 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:@""];