Удаление проблемы символов из NSString в iPhone


У меня есть строка со значением "€100,000,000". Я хочу удалить " ... "и", " одновременно. Я пытаюсь использовать [NSCharacterSet symbolSet], но этот метод удаляет только'€', не удаляя ','.

5 2

5 ответов:

Вы можете попробовать:

-(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 stringByReplacingOccurencesOfString:@"€" withString:@""] stringByReplacingOccurencesOfString:@"," withString:@""];
string = [string stringByReplacingOccurrencesOfString:@"€" withString:@""]; 

Где строка содержит "€100,000,000"

Запятые не являются символами. Это часть [NSCharacterSet punctuationCharacterSet]. Но если вы используете этот набор, он удалит держатель десятичного знака (точка).

Вам просто нужно будет сделать две операции, чтобы получить желаемый результат.
  1. Используйте [NSCharacterSet symbolSet], который позаботится обо всех символах для валюты.
  2. Используйте stringByReplacingOccurencesOfStrin, чтобы удалить только ","