在iphone中的一个特殊字符后剪切nsstring

use*_*381 3 iphone nsstring ipad ios

我是iPhone的新手,我想在特殊字符后剪切一个字符串,让我们把这个例子"works.php",我想从这个字符串中删除".php",这意味着我要删除"."之后的内容.这样做的代码是什么?提前致谢.

ken*_*ytm 5

看来你想-stringByDeletingPathExtension.

[@"works.php" stringByDeletingPathExtension]   // becomes @"works".
Run Code Online (Sandbox Code Playgroud)

请注意,此方法删除路径扩展,这与"删除点后面的内容"不完全相同.请阅读我上面链接的参考资料.

如果你真的只需要在最后一个点后删除字符串,只需使用常规算法(1)找到最后一个点(2)得到一个子串直到最后一个点:

NSString* input = @"works.php";
NSRange lastDotRange = [input rangeOfString:@"." options:NSBackwardsSearch];
if (lastDotRange.location != NSNotFound) {
    return [input substringToIndex:lastDotRange.location];
} else {
    return input;
}
Run Code Online (Sandbox Code Playgroud)