我是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:@""];
另一种方法是NSRange
并substringWithRange
您是否想要其他删除选项。