我有一些类似于此类型的字符串
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 / Documents / Project / Project 1 / Folder 1 / 2.php”
我该怎么做才能解决它?
答案 0 :(得分:1)
要获取应用程序父目录的名称,您应该尝试这样做:
NSString *appUUID = [[[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent] lastPathComponent];
这将在设备和模拟器上都有效。
如果您需要获取应用程序沙箱中Documents文件夹的完整路径:
NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
如果需要将路径组件附加到路径字符串:
NSString *projectPath = [documentsPath stringByAppendingPathComponent: @"Project"];
请查看NSString文档,“任务”部分"Working with Paths"。这是必读的。
答案 1 :(得分:0)
你可以使用NSString的stringWithRange方法。 subString1 = [string1 stringWithRange:NSMakeRange(startPos,yourLengthToSelect)];
或者您可以使用componentSeparetedByString并使用@“/”来中断字符串。它将返回字符串数组。使用数组索引获取所需的字符串。