как удалить подстроку и получить другую часть из этой строки - PullRequest
0 голосов
/ 14 декабря 2010

У меня есть строка с таким типом

NSString *string1 = @"/Users/mine/Library/Application Support/iPhone Simulator/3.2/Applications/02221798-1B7A-46B4-928F-F5BE37E177B5/Documents/Project/Project 1/Folder 1/2.php";

если я просто хочу получить "02221798-1B7A-46B4-928F-F5BE37E177B5"

Я реализовал код, подобный этому:

NSString *subString1;
int count = [string1 length];
NSLog(@"count : %d", count);
subString1 = [string1 substringFromIndex:121];

но осталось "02221798-1B7A-46B4-928F-F5BE37E177B5 / Документы / Проект / Проект 1 / Папка 1 / 2.php"

как я могу это исправить ??

Ответы [ 2 ]

1 голос
/ 14 декабря 2010

Чтобы получить имя родительского каталога вашего приложения, попробуйте вместо этого:

NSString *appUUID = [[[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent] lastPathComponent];

Это будет работать как на устройстве, так и на симуляторе.

Если вам нужно получить полныйпуть к папке «Документы» в изолированной программной среде приложения:

NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];

Если вам нужно добавить компонент пути к строке пути:

NSString *projectPath = [documentsPath stringByAppendingPathComponent: @"Project"];

Пожалуйста, ознакомьтесь с документацией NSString,раздел «Задачи», «Работа с путями» .Это необходимо прочитать.

0 голосов
/ 14 декабря 2010

вы можете использовать метод stringWithRange NSString.subString1 = [string1 stringWithRange: NSMakeRange (startPos, yourLengthToSelect)];

или вы можете использовать componentSeparetedByString и разрывать строку с помощью @ "/".он вернет массив строк.получить желаемую строку, используя индекс массива.

...