2010-09-06 5 views
9

Come posso selezionare una stringa dall'inizio fino a un carattere specificato?Come posso selezionare una stringa dall'inizio fino a un carattere specificato?

Ad esempio, nel seguente un titolo notizia ...

someString = @"Los Angeles, California - Apple announces something, stock prices change."

Come faccio a selezionare solo Los Angeles, California - in una stringa separata? (Voglio basare la mia selezione su tutto ciò prima del (carattere - "trattino")

EDIT:.

Dire il mio titolo è simile al seguente:

someString = @"Los Angeles, California - Apple announces something - stock prices change."

Come faccio evitare che la mia stringa di posizione assomigli a questa: Los Angeles, California - Apple announces something?

Modifica:

Errore mio, stavo rimuovendo il primo trattino e quindi riprendendo la stringa. Il mio errore è che la risposta postata funziona.

risposta

23
NSRange rangeOfDash = [someString rangeOfString:@"-"]; 
substring = (rangeOfDash.location != NSNotFound) ? [someString substringToIndex:rangeOfDash.location] : nil; 

Questo imposta la substring-nil se non c'è trattino nel someString.

+0

Che cosa sarebbe rangeOfDash essere basato su someString dopo aver analizzato l'intera cosa? – Moshe

+0

Voglio solo il primo trattino, non i trattini successivi. vedi la mia modifica. – Moshe

+0

Non importa, vedi la mia seconda modifica. – Moshe