字符串操作

时间:2010-12-20 05:16:52

标签: iphone cocoa nsstring

如果有像“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,因为字符串可能有不同的长度。

3 个答案:

答案 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;
}

使用上面的代码。