Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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
Iphone 如何从nsstring中删除子字符串?_Iphone_Regex_Replace_Nsstring_Substring - Fatal编程技术网

Iphone 如何从nsstring中删除子字符串?

Iphone 如何从nsstring中删除子字符串?,iphone,regex,replace,nsstring,substring,Iphone,Regex,Replace,Nsstring,Substring,好的,假设我有字符串“你好,我的名字是donald” 现在,我想删除从“hello”到“is”的所有内容 问题是,“我的名字”可以是任何东西,也可以是“他的儿子” 因此,基本上,简单地通过替换字符串来执行string是行不通的 (我有RegexLite) 我该怎么做?以下NSString类别可能会帮助您。它对我有好处,但不是我创造的。谢谢作者 NSString+Whitespace.h #import <Foundation/Foundation.h> @interface NSS

好的,假设我有字符串“
你好,我的名字是donald

现在,我想删除从“
hello
”到“
is
”的所有内容 问题是,“
我的名字
”可以是任何东西,也可以是“
他的儿子

因此,基本上,简单地通过替换字符串来执行
string是行不通的

(我有RegexLite)


我该怎么做?

以下NSString类别可能会帮助您。它对我有好处,但不是我创造的。谢谢作者

NSString+Whitespace.h

#import <Foundation/Foundation.h>

@interface NSString (Whitespace)

- (NSString *)stringByCompressingWhitespaceTo:(NSString *)seperator;

@end

像下面这样使用它会帮助你

NSString *hello = @"his is name is isName";
NSRange rangeSpace = [hello rangeOfString:@" " 
                                  options:NSBackwardsSearch];
NSRange isRange = [hello rangeOfString:@"is" 
                               options:NSBackwardsSearch 
                                 range:NSMakeRange(0, rangeSpace.location)];

NSString *finalResult = [NSString stringWithFormat:@"%@ %@",[hello substringToIndex:[hello rangeOfString:@" "].location],[hello substringFromIndex:isRange.location]];
NSLog(@"finalResult----%@",finalResult);

如果您总是知道字符串以“hello my name is”开头,那么这是17个字符,包括最后的空格,因此如果您

NSString * hello = "hello my name is Donald Trump";
NSString * finalNameOnly = [hello substringFromIndex:17];

如果子字符串总是相同的,那么你不需要也不应该使用正则表达式。你不是认真的吗??我我只是以这个字符串为例!!return:"donald"对任何人都没有帮助,也不是这个问题的重点
NSString * hello = "hello my name is Donald Trump";
NSString * finalNameOnly = [hello substringFromIndex:17];