我想让每个字符串看起来像这样:
"this-is-string-one"
所以主字符串可以包含:
"This! is string, one"
所以基本上用“-”替换!?。,空格和类似的字符。
我想让每个字符串看起来像这样:
"this-is-string-one"
所以主字符串可以包含:
"This! is string, one"
所以基本上用“-”替换!?。,空格和类似的字符。
像这样的事情最好用正则表达式处理:
NSString *someString = @"This! is string, one";
NSString *newString = [someString stringByReplacingOccurrencesOfString:@"[!?., ]+" withString:@"-" options: NSRegularExpressionSearch range:NSMakeRange(0, someString.length)];
NSLog(@"\"%@\" was converted to \"%@\"", someString, newString);
输出将是:
"This! is string, one" 被转换为 "This-is-string-one"
正则表达式[!?., ]+
表示方括号之间列出的一个或多个字符的任何序列。
更新:
如果你想截断任何尾随连字符,那么你可以这样做:
if ([newString hasSuffix:@"-"]) {
newString = [newString substringToIndex:newString.length - 1];
}