如果有像“com.mycompany.purchase1”这样的NSString如何只获得purchase1。
NSString *mainString = @"com.mycompany.purchase1";
-(NSString*)getLastComponent : (NSString*) mainString
{
NSString *string;
//Implementation
return string;//It should return only "purchase1"
}
我尝试使用lastPathComponent,pathExtension,并且我也不能使用substringToIndex,因为字符串可能有不同的长度。
答案 0 :(得分:7)
不要让donkim的答案是正确的。只显示我将使用的实现
-(NSString*)lastComponentOfString:(NSString*)string separatedByString:(NSString*)separator
{
return [[string componentsSeparatedByString:separator] lastObject];
}
使用
NSString *string = @"com.mycompany.purchase1";
[... lastComponentOfString:string separatedByString:@"."];
答案 1 :(得分:2)
您可以在- (NSArray *)componentsSeparatedByString:(NSString *)separator
中使用NSString
方法。检查NSArray
的计数是否大于0,其最后一个组成部分([array objectAtIndex:[array count] - 1]
)将是您想要的。
答案 2 :(得分:0)
-(NSString*)getLastComponent : (NSString*) mainString
{
NSString *string1;
NSArray *arr=[mainString componentsSeparatedByString:@"."];
string1=[arr objectAtIndex:([arr count]-1)];
return string;
}
使用上面的代码。