How can I select a string from the beginning until a specified character?

Moshe picture Moshe · Sep 7, 2010 · Viewed 10.1k times · Source

How can I select a string from the beginning until a specified character?

For example, in the following a news headline...

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

How do I select just Los Angeles, California - into a separate string? (I want to base my selection on everything before the - ("dash") character.

EDIT:

Say my headline looks like this:

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

How do I prevent my location string from looking like this: Los Angeles, California - Apple announces something?

Edit:

My mistake, I was removing the first dash and then reprising the string. My mistake the posted answer works.

Answer

mohsenr picture mohsenr · Sep 7, 2010
NSRange rangeOfDash = [someString rangeOfString:@"-"];
substring = (rangeOfDash.location != NSNotFound) ? [someString substringToIndex:rangeOfDash.location] : nil;

This sets the substring to nil if there's no dash in the someString.