在iPhone中从NSString中删除字符问题

我有一个价值“100,000,000”的string。 我想同时删除'€'和','。 我尝试使用[NSCharacterSet symbolSet]但是这种方法只删除'€'而不删除','。

你可以试试:

 -(NSString*)cleanString:(NSString*)str NSString *string = [NSString stringWithString:str]; NSCharacterSet *charSet = [NSCharacterSet characterSetWithCharactersInString:@"€,"]; string = [string stringByTrimmingCharactersInSet:charSet]; return string; } 

用这个:

 string = [string stringByReplacingOccurrencesOfString:@"€" withString:@""]; string = [string stringByReplacingOccurrencesOfString:@"," withString:@""]; 

最好的解决办法是从NSString的答案删除所有数字 。

string中固定清洁的替代方法是:

 string = [[string stringByReplacingOccurencesOfString:@"€" withString:@""] stringByReplacingOccurencesOfString:@"," withString:@""]; 
 string = [string stringByReplacingOccurrencesOfString:@"€" withString:@""]; 

其中string包含"€100,000,000"

逗号不是符号。 它是[NSCharacterSet punctuationCharacterSet]的一部分。 但是,如果您使用该设置,它将删除小数位的持有者(期间)。

你只需要做两个操作来获得你想要的结果。

  1. 使用[NSCharacterSet symbolSet]将会照顾货币的所有符号。
  2. 使用stringByReplacingOccurencesOfStrin只删除","