在 iPhone 中的特殊字符之后剪切 NS字符串



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

看来你想用-stringByDeletingPathExtension.

[@"works.php" stringByDeletingPathExtension]   // becomes @"works".

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

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

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

对于具体示例,您可以使用:

- (NSString *)stringByDeletingPathExtension

执行所需操作的更通用方法是:

NSString *originalString = @"works.php";  
NSString *finalString = 
[[originalString componentsSeparatedByString:@"."] objectAtIndex: 0];

您可以将点字符替换为所需的任何字符。

您可以使用:

myString = @"anything.php";
myString = [myString stringByReplacingOccurrencesOfString:@".php" withString:@""];

这样做的好处是你可以把任何东西删除,而不仅仅是一条路径。例如:

myString = @"anything-123";
myString = [myString stringByReplacingOccurrencesOfString:@"-123" withString:@""];

另一种方法是NSRangesubstringWithRange您是否想要其他删除选项。

最新更新