Почтовые индексы - это строки. В некоторых комментариях эти строки могут состоять только из числовых цифр, но это не делает их целыми числами. И рано или поздно ваша потальная система иссякнет и решит начать использовать буквы. Если ваша база данных использует целые числа для поля почтового индекса, вы будете в глубокой задумчивости.
Итог - если вы не будете делать арифметику, это, вероятно, не совсем число.
This should do the trick:
NSString * ReplaceFirstNewLine(NSString * original)
{
NSMutableString * newString = [NSMutableString stringWithString:original];
NSRange foundRange = [original rangeOfString:@"\n"];
if (foundRange.location != NSNotFound)
{
[newString replaceCharactersInRange:foundRange
withString:@""];
}
return [[newString retain] autorelease];
}
[string stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]
will trim your string from any kind of newlines, if that's what you want.
[string stringByReplacingOccurrencesOfString:@"\n" withString:@"" options:0 range:NSMakeRange(0, 1)]
will do exactly what you ask and remove newline if it's the first character in the string
Вместо того, чтобы создавать NSMutableString и использовать несколько вызовов сохранения / освобождения, вы можете использовать только исходную строку и упростить код, используя вместо этого следующее: (требуется 10,5+)
NSRange foundRange = [original rangeOfString:@"\n"];
if (foundRange.location != NSNotFound)
[original stringByReplacingOccurrencesOfString:@"\n"
withString:@""
options:0
range:foundRange];
( См. -stringByReplacingOccurrencesOfString: withString: options: range:
для подробностей.)
Результат последнего вызова метода вызова можно даже безопасно присвоить исходному ЕСЛИ вы автоматически выпускаете то, что там сначала, чтобы не допустить утечки памяти.