le code est testé ici pour votre tâche.
NSString *string = @"ab anystring yz";
NSString *result = nil;
// Determine "ab" location
NSRange divRange = [string rangeOfString:@"ab" options:NSCaseInsensitiveSearch];
if (divRange.location != NSNotFound)
{
// Determine "ab" location according to "yz" location
NSRange endDivRange;
endDivRange.location = divRange.length + divRange.location;
endDivRange.length = [string length] - endDivRange.location;
endDivRange = [string rangeOfString:@"yz" options:NSCaseInsensitiveSearch range:endDivRange];
if (endDivRange.location != NSNotFound)
{
// Tags found: retrieve string between them
divRange.location += divRange.length;
divRange.length = endDivRange.location - divRange.location;
result = [string substringWithRange:divRange];
string =[string stringByReplacingCharactersInRange:divRange withString:@"Replace string"];
}
}
Maintenant, vous vérifiez que la chaîne que vous obtiendrez ab Remplacer la chaîne yz
Merci Thomas.I essayé premier mais cela ne work.I suis pas clair sur la deuxième réponse. Dans mon cas, la chaîne entre "ab" et "yz" n'est pas fixe longueur chaîne.aide moi si c'est possible. –
afaik a fullstop '.' dans regex signifie" n'importe quelle quantité de caractères ". Vous devez télécharger regexKitLite et l'inclure dans votre projet. –
Bonjour Thomas Merci encore. Je l'ai essayé. Pas d'erreur de compilation mais peut-être une erreur de logique. J'ai mis le code. Dites-moi si vous avez une suggestion pour cela. NSString * str = [[NSString alloc] init]; str = @ "ab Ceci est démo yz"; NSString * newstr = [[NSString alloc] init]; newstr = [str chaîneByReplacingOccurrencesOfRegex: @ "ab \\ b. \\ byz" avec Chaîne: @ "bon"]; –