从NSString中提取子字符串

Que*_*low 6 iphone objective-c nsstring ios

我想从NSString中提取子字符串.怎么可能.

示例:字符串为 abcdefwww.google.comabcdef

输出:www.google.com

在主String中,它没有预定义哪个url来,可能是google.com或yahoo.com等.

所以我必须在www中找到w的开始位置 以及.com中m的最后位置.

所以我的问题是,我怎么能找到的起始位置W¯¯WWW和位置.COM,所以我抽出这部分

由于问题而编辑:

我们如何从这个字符串中提取www.mywebsite.co.uk asdfwww.mywebsite.co.ukasdfajsf

谢谢

Par*_*shi 19

来自字符串的子串,如波纹管

       - (NSString *)extractString:(NSString *)fullString toLookFor:(NSString *)lookFor skipForwardX:(NSInteger)skipForward toStopBefore:(NSString *)stopBefore 
    {

        NSRange firstRange = [fullString rangeOfString:lookFor];
        NSRange secondRange = [[fullString substringFromIndex:firstRange.location + skipForward] rangeOfString:stopBefore];
        NSRange finalRange = NSMakeRange(firstRange.location + skipForward, secondRange.location + [stopBefore length]);

        return [fullString substringWithRange:finalRange];
    }
Run Code Online (Sandbox Code Playgroud)

使用如下方法...

NSString *strTemp = [self extractString:@"abcdefwww.google.comabcdef" toLookFor:@"www" skipForwardX:0 toStopBefore:@".com"];
NSLog(@"\n\n Substring ==>> %@",strTemp);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅下面的链接..

帮助需要的功能提取物串,串


小智 8

您可以使用以下代码获取子字符串

-(NSString*)stringBetweenString:(NSString*)start andString:(NSString *)end withstring:(NSString*)str
{
    NSScanner* scanner = [NSScanner scannerWithString:str];
    [scanner setCharactersToBeSkipped:nil];
    [scanner scanUpToString:start intoString:NULL];
    if ([scanner scanString:start intoString:NULL]) {
        NSString* result = nil;
        if ([scanner scanUpToString:end intoString:&result]) {
            return result;
        }
    }
    return nil;
}
Run Code Online (Sandbox Code Playgroud)

打电话给这个,

NSString *cURL=[self stringBetweenString:@"www." andString:@".com" withstring:@"abcdefwww.google.comabcdef"];

NSString *cAudiolink=[NSString stringWithFormat:@"www.%@.com",cURL];
Run Code Online (Sandbox Code Playgroud)

cAudiolink是结果字符串