NSString从电子邮件地址中删除字符

时间:2011-05-04 15:33:08

标签: iphone

使用Iphone sdk 4.3如果我有这样的NSString

name@domain.com

如何在'@'之后删除所有内容,以便我只剩下'name'。

由于

4 个答案:

答案 0 :(得分:9)

拆分字符串;

NSArray *parts= [emailAddress componentsSeparatedByString: @"@"]; 

并使用结果数组的第一部分。

答案 1 :(得分:0)

首先使用 - (NSRange)rangeOfString:(NSString *)aString - NSString对象的函数来获取@Charakter的位置。

然后使用 - (NSString *)substringWithRange:(NSRange)aRange。 aRange需要两个参数,第一个是元素和后续元素的数量,所以第一个参数是0,第二个参数是@的位置。 ; - )

答案 2 :(得分:0)

tech74的答案很好。 :)

虽然我也有一种方法。

NSString *emailAddress = @"name@domain.com";
NSString *name = [emailAddress substringToIndex:[emailAddress rangeOfString:@"@"].location];
//to check:
NSLog(@"Name: %@", name);

希望这没关系。 如果您将充分利用“域名”部分,那么tech74的答案是一个很好的方法。

答案 3 :(得分:0)

NSString *emailAddress = @"name@Domain.com";
NSString *name = [emailAddress substringToIndex:[emailAddress rangeOfString:@"@"].location];
NSString *doman = [emailAddress substringFromIndex:[emailAddress rangeOfString:@"@"].location+1];
NSLog(@"Name: %@", name);
NSLog(@"Doman: %@", [doman lowercaseString]);

Output
Name: name
doman: domain.com

如果您需要限制域的所有大写