Diciamo che ho questo NSString
: @"Country Address Tel:number"
. Come posso fare per ottenere la sottostringa precedente a Tel
? (Indirizzo Paese) E quindi come posso fare per ottenere la sottostringa che è dopo Tel
? (Numero)Ottenere una sottostringa da una NSString fino ad arrivare a una parola specifica
18
A
risposta
28
Uso NSScanner:
uscitaNSString *string = @"Country Address Tel:number";
NSString *match = @"tel:";
NSString *preTel;
NSString *postTel;
NSScanner *scanner = [NSScanner scannerWithString:string];
[scanner scanUpToString:match intoString:&preTel];
[scanner scanString:match intoString:nil];
postTel = [string substringFromIndex:scanner.scanLocation];
NSLog(@"preTel: %@", preTel);
NSLog(@"postTel: %@", postTel);
NSLog:
Pretel: Stato Indirizzo
postTel: numero
22
modo più semplice è se si conosce il delimitatore, (se è sempre :
) è possibile utilizzare questo:
NSArray *substrings = [myString componentsSeparatedByString:@":"];
NSString *first = [substrings objectAtIndex:0];
NSString *second = [substrings objectAtIndex:1];
che dividere la stringa in due pezzi, e vi darà l'array con ogni stringa
2
Qui è un'estensione della risposta di zaph che ho implementato con successo.
-(NSString*)stringBeforeString:(NSString*)match inString:(NSString*)string
{
if ([string rangeOfString:match].location != NSNotFound)
{
NSString *preMatch;
NSScanner *scanner = [NSScanner scannerWithString:string];
[scanner scanUpToString:match intoString:&preMatch];
return preMatch;
}
else
{
return string;
}
}
-(NSString*)stringAfterString:(NSString*)match inString:(NSString*)string
{
if ([string rangeOfString:match].location != NSNotFound)
{
NSScanner *scanner = [NSScanner scannerWithString:string];
[scanner scanUpToString:match intoString:nil];
NSString *postMatch;
if(string.length == scanner.scanLocation)
{
postMatch = [string substringFromIndex:scanner.scanLocation];
}
else
{
postMatch = [string substringFromIndex:scanner.scanLocation + match.length];
}
return postMatch;
}
else
{
return string;
}
}
Problemi correlati
- 1. Trovare una sottostringa in un oggetto NSString
- 2. Ottenere l'ultima parola di una NSString
- 3. Rimuovere una parola specifica da una stringa
- 4. IOS: NSString che recupera una sottostringa da una stringa
- 5. Posizione di una sottostringa in NSString
- 6. Come estrarre una sottostringa da una stringa in PHP fino a quando raggiunge un determinato carattere?
- 7. come estrarre la sottostringa da una stringa fino a trovare una virgola C# asp.net
- 8. Scorrimento di TextView in ScrollView fino a una sottostringa di testo specifica
- 9. Torna ad una specifica attività
- 10. Come rimuovere una NSString da una NSMutableString?
- 11. Come capitalizzare ogni parola di una NSString
- 12. Come aggiungere una NSString a un'altra NSString
- 13. Ottenere una stringa dopo una specifica stringa
- 14. Ottenere la sottostringa da un certo carattere di NSString
- 15. Filtra una sottostringa che corrisponde a un modello da una variabile ansibile e assegna una sottostringa corrispondente a un'altra variabile
- 16. Kernel Linux - Come ottenere una versione specifica (da destra fino a SUBLEVEL)
- 17. Scorrere fino a una posizione specifica in Android ListView
- 18. Regex abbinare una linea senza una specifica parola
- 19. Espressione regolare di una parola specifica
- 20. ottenere una riga specifica da spark dataframe
- 21. sottostringa di estratto da NSString
- 22. XSLT Seleziona tutti i nodi contenenti una sottostringa specifica
- 23. Come negare una parola specifica nell'espressione regolare?
- 24. Come posso ottenere il testo da UITextField in una NSString?
- 25. Rimozione della sottostringa da una stringa?
- 26. Estrarre ogni parola completa che contiene una determinata sottostringa
- 27. Python regex per abbinare una parola specifica
- 28. Trova sottostringa in una stringa utilizzando C#
- 29. Ottenere sottostringa prima di una certa char a (c)
- 30. Ottenere una sottostringa di un char *
Impressionante. Grazie –
grazie per una soluzione "Handy". – Vats