Objective C删除某些字符后的字符串结尾

时间:2014-06-04 01:22:06

标签: objective-c string character

我似乎无法在任何地方找到答案。我可以用c来做,但客观c很难。

我想在某个字符后剪切字符串的结尾

所以user@example.com将成为用户(在'@'处剪切)

我该怎么做?

2 个答案:

答案 0 :(得分:6)

这将为您提供特殊字符前面的第一个文本块。

NSString *separatorString = @"@";
NSString *myString = @"user@example.com";
NSString *myNewString = [myString componentsSeparatedByString:separatorString].firstObject;

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/instm/NSString/componentsSeparatedByString

答案 1 :(得分:1)

您可以使用substringToIndex:rangeOfString:方法的组合,如下所示:

NSString *str = @"user@example.com";
NSRange pos = [str rangeOfString:@"@"];
if (pos.location != NSNotFound) {
    NSString *prefix = [str substringToIndex:pos.location];
}

注意:

  1. 您需要针对NSNotFound检查位置,以确保该位置有效。
  2. substringToIndex: 排除索引本身,因此不会包含@字符。