Если у вас все в порядке с регулярными выражениями, вы можете сделать это таким образом. Например (используя RegexKitLite ):
NSString * fileName = [line stringByMatching:@"(.*)\\s" capture:1];
Объяснение регулярного выражения: (.*)
Это будет соответствовать как можно большему числу символов, пока не будет найден пробел. Тем не менее, захват является жадным, что означает, что он будет захватывать столько символов, сколько может до последнего пробела (в двух словах).
Или вы можете использовать NSString
методы, чтобы найти последнее вхождение пробела и получить подстроку от начала строки до последнего пробела.
Или вы можете разбить строковое основание на @" "
, отбросить последний объект в массиве, а затем рекомбинировать массив с @" "
.