преобразовать php-код в цель C - PullRequest
0 голосов
/ 30 августа 2011

Может кто-нибудь, пожалуйста, помогите мне написать этот код в задаче C:

function extractStringFromString ($string, $start, $end) {

    $startPos = strpos($string,$start);
    $stringEndTagPos = strpos($string,$end,$startPos);
    $stringBetween = substr($string,$startPos+strlen($start),$stringEndTagPos-$startPos-strlen($start));

    if (strlen($stringBetween) != 0) {

        return $stringBetween;
        return true;
    }
    else {

        return false;
    }

}

, что делает функция проста, принимает 3 значения, $string, который является текстом и $start и $end который будет искать функция в тексте ($start будет началом поиска, и как только будет найден старт, $end будет концом поиска и вернет значение)

Спасибо

Ответы [ 2 ]

4 голосов
/ 30 августа 2011
-(NSString*)extractStringFromString:(NSString*)text fromIndex(NSInteger)start toIndex:(NSInteger)end{
    NSRange cropRange = {start, [text length] - end};
    return [text substringWithRange: cropRange];

}

Но, конечно, вы должны просто использовать:

    NSRange cropRange = {aStartIndex, aLength};
    NSString* substring = [text substringWithRange: cropRange];
2 голосов
/ 30 августа 2011

Поиск первой start строки и последней end строки

- (NSString *)extractStringFromString:(NSString *)string start:(NSString *)start end:(NSString *)end
{
    NSRange indexStart = [string rangeOfString:start];
    if (indexStart.location == NSNotFound) return nil;

    NSRange searchRange = NSMakeRange(indexStart.location + indexStart.length, [string length] - indexStart.location - indexStart.length);
    NSRange indexEnd = [string rangeOfString:end options:NSBackwardsSearch range:searchRange];
    if (indexEnd.location == NSNotFound) return nil;

    return [string substringWithRange:NSMakeRange(indexStart.location + indexStart.length, indexEnd.location - indexStart.location - indexStart.length)];
}

Поиск первой start строки и первой end строки после первой start строки:

- (NSString *)extractStringFromString:(NSString *)string start:(NSString *)start end:(NSString *)end
{
    NSRange indexStart = [string rangeOfString:start];
    if (indexStart.location == NSNotFound) return nil;

    NSRange searchRange = NSMakeRange(indexStart.location + indexStart.length, [string length] - indexStart.location - indexStart.length);
    NSRange indexEnd = [string rangeOfString:end options:NSLiteralSearch range:searchRange];
    if (indexEnd.location == NSNotFound) return nil;

    return [string substringWithRange:NSMakeRange(indexStart.location + indexStart.length, indexEnd.location - indexStart.location - indexStart.length)];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...