Поиск строки между двумя известными строками - PullRequest
2 голосов
/ 22 марта 2010

У меня есть строка с этим содержанием:

href="http://www.website.com/" /> [...] [...]

Я просто хочу получить центральную часть строки. Как можно получить роль между @ "href =" "и @" "/>"

Примечание. Даже если он выглядит как xml-код, он находится внутри строки NSString.

Ответы [ 3 ]

10 голосов
/ 22 марта 2010

Я понял!

Это код (написано не очень красиво):

NSRange rr2 = [content rangeOfString:@"href=\""];
    NSRange rr3 = [content rangeOfString:@"\" />"];
    int lengt = rr3.location - rr2.location - rr2.length;
    int location = rr2.location + rr2.length;
    NSRange aa;
    aa.location = location;
    aa.length = lengt;
    theString = [theString substringWithRange:aa];
2 голосов
/ 09 мая 2010

Как насчет

NSString* newNSString =[[[theString substringFromIndex:6] componentsSeparatedByString:@"/\""]objectAtIndex:0];

Или

NSString* newNSString =[[[[theString componentsSeparatedByString:@"href=\""]objectAtIndex:1] componentsSeparatedByString:@"/\""]objectAtIndex:0];
1 голос
/ 31 мая 2010

Это можно сделать более компактно:

NSRange end = [source rangeOfString:@"\" />"];
if (end.location != NSNotFound) {
    result = [source substringWithRange:NSMakeRange(6, end.location - 6)];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...