Я хочу, чтобы каждая строка выглядеть следующим образом:Заменить специальный символ или пробелы с -
"this-is-string-one"
Так основная строка может содержать:
"This! is string, one"
Так basicaly заменить, пробелы и символы!?. как с "-".
Я хочу, чтобы каждая строка выглядеть следующим образом:Заменить специальный символ или пробелы с -
"this-is-string-one"
Так основная строка может содержать:
"This! is string, one"
Так basicaly заменить, пробелы и символы!?. как с "-".
Нечто подобное лучше обрабатывается регулярным выражением:
NSString *someString = @"This! is string, one";
NSString *newString = [someString stringByReplacingOccurrencesOfString:@"[!?., ]+" withString:@"-" options: NSRegularExpressionSearch range:NSMakeRange(0, someString.length)];
NSLog(@"\"%@\" was converted to \"%@\"", someString, newString);
Выход будет:
«! Это строка, один» был преобразован в «Это-это строка -one "
Регулярное выражение [!?., ]+
означает любую последовательность из одного или нескольких символов, перечисленных между квадратными скобками.
Update:
Если вы хотите укоротить любой замыкающий дефис, то вы можете сделать это:
if ([newString hasSuffix:@"-"]) {
newString = [newString substringToIndex:newString.length - 1];
}
могу я отрезать как-то, если - последнее: «sting-strong-» нужно «sting-stong» – user1832330
@ user1832330 См. мой обновленный ответ на этот вопрос. – rmaddy
http://stackoverflow.com/questions/668228/string-replacement-in-objective- c –