从@

2011-04-22 67 views

回答

1

你可以使用方法

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target 
             withString:(NSString *)replacement 

所以,你的代码应该像下面。

string = [string stringByReplacingOccurrencesOfString:@"sdk.com" withString:@""]; 

编辑:

使用componentsSeparatedByString方法,

NSArray* myArray = [string componentsSeparatedByString:@"@"]; 

现在你的阵列正好包含两个组成,

NSMutableString* myStringBefore = [myArray objectAtIndex:0]; 

如果你仍然想@在年底你的字符串..

[myStringBefore appenString:@"@"]; 
+0

这个字符串就是什么,我必须这样做,可能是[email protected]的解决方案需要一般的例子 – Gypsa 2011-04-22 06:33:41

+0

我找到了一个解决方案int range = [string rangeOfString:@“@”]。 NSLog(@“%d”,range); (@“%@”,[string substringToIndex:range]); – Gypsa 2011-04-22 06:39:20

+0

@Jenifer:好,看看我的更新回答, – Jhaliya 2011-04-22 06:42:22

1

您可以使用substringToIndex

string = [ string substringToIndex:5 ] ; 
// If @ location is subject to change, then first find it's location index and 
// pass it. 
1
NSMutableString *string1 = [NSMutableString stringWithString: @"[email protected]"]; 
NSArray* arr = [string1 componentsSeparatedByString:@"@"]; 
[string1 deleteCharactersInRange: [string1 rangeOfString: [NSString stringWithFormat:@"@%@",[arr objectAtIndex:1]]]]; 
+1

为什么不简单'[[theString componentsSeparatedByString:@“@”] objectAtIndex:0]'?不需要可变字符串。 – 2011-04-22 06:42:32

0
int range=[string rangeOfString:@"@"].location; 
NSLog(@"%d",range); 
NSLog(@"%@",[string substringToIndex:range]);