Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 从字符串中删除字符和后面的所有内容_Objective C_Cocoa - Fatal编程技术网

Objective c 从字符串中删除字符和后面的所有内容

Objective c 从字符串中删除字符和后面的所有内容,objective-c,cocoa,Objective C,Cocoa,我知道要替换字符串中的字符串,但这只有在我确切知道要删除什么的情况下才有效 如果我有如下字符串: “hi-there-this-is-a-test&feature=hi-there” 如何删除“&feature”及其后的所有内容 任何帮助都将不胜感激。提前谢谢 编辑:如果绝对需要使用正则表达式,有人能告诉我如何使用它吗?我知道现在是10.7,但我同意。更好的是,一个剪线或使用NSScanner的例子 再次感谢大家 编辑:下面发布的解决方案是正确的,但导致了我的崩溃。我就是这样解决这个问题的: N

我知道要替换字符串中的字符串,但这只有在我确切知道要删除什么的情况下才有效

如果我有如下字符串:

“hi-there-this-is-a-test&feature=hi-there”

如何删除“&feature”及其后的所有内容

任何帮助都将不胜感激。提前谢谢

编辑:如果绝对需要使用正则表达式,有人能告诉我如何使用它吗?我知道现在是10.7,但我同意。更好的是,一个剪线或使用NSScanner的例子

再次感谢大家

编辑:下面发布的解决方案是正确的,但导致了我的崩溃。我就是这样解决这个问题的:

NSString *newString = [[oldString componentsSeparatedByString: @"&feature="] objectAtIndex:0];

查找模式匹配,也称为正则表达式

哦,哇,直到在Objective-C中没有内置的方法来执行正则表达式?据


无论如何,这个问题中提到了LIB。

在没有正则表达式的情况下也可以这样做:

NSString *string = @"hi-there-this-is-a-test&feature=hi-there";
    NSRange range = [string rangeOfString:@"&feature"];
    NSString *shortString = [string substringToIndex:range.location];

没有内置的方式吗?比如“stringByReplacingOccurrencesOfString(),但删除之后的所有内容?好吧,您可以使用自己的函数对其进行编码,该函数执行内置调用以获取匹配字符串的位置,然后在该点修剪字符串。如果你有一个足够简单的环境,那就好了。但是,一旦您的项目增长,那么您将剪切粘贴共享代码。。。为什么不使用健壮的库呢?这是一个小项目,这段代码将包含在一个循环函数中,并且我只需要删除一个特定的实例,即删除“&feature”以及之后的所有内容,这不会改变。如果你能提供一个例子,让我发现这一点,然后剪掉,我将非常感激!Cocoa在Lion中获得了对正则表达式的支持。Cocoa Touch在iOS 4中得到了它。@Cristian:那么你又做错了什么。这是正确的解决方案。你应该发布一个关于崩溃的单独问题。好的,谢谢,无论如何,我真的不明白它为什么会崩溃,字符串上的NSLog显示正确的输出,但是如果我使用此解决方案,它会崩溃。。奇怪的是,当我将此方法作为一个解决方案时,也会崩溃。从技术上讲,该解决方案所做的工作比它需要的要多(即,创建一个数组)。你应该回到rdelmar的解决方案,调查你在做什么导致它崩溃,因为你可能还在做,这将导致其他问题。非常感谢你的帮助,但相信我,我已经仔细查看了,我刚刚创建了一个字符串,用URL填充它,转换它,修剪它,然后使用这个解决方案就会崩溃。我不知道它为什么会崩溃。正如我说的,你应该问个问题。你无法从每次撞车中学到有用的东西;当你遇到崩溃时,你应该正面应对,并从你的发现中学习。为什么不发布导致崩溃的代码,让我们来看看呢。