Из ссылки на класс NSString обсуждение метода componentsSeparatedByString:
Подстроки в массиве отображаются в том порядке, в котором они были в
получатель. Соседние вхождения строки разделителя дают пустые
строки в результате. Аналогично, если строка начинается или заканчивается
разделитель, первая или последняя подстрока соответственно, пуст.
Например, этот фрагмент кода:
NSString *list = @"Norman, Stanley, Fletcher";
NSArray *listItems = [list componentsSeparatedByString:@", "];
создает массив { @"Norman", @"Stanley", @"Fletcher" }
.
Если список начинается с запятой и пробела - например, ", Norman, Stanley,
Fletcher"
- массив имеет следующее содержимое: { @"", @"Norman", @"Stanley",
@"Fletcher" }
Если в списке нет разделителей - например, "Norman"
- массив содержит
Сама строка, в данном случае { @"Norman" }
.
Вывод ваших двух тестовых примеров:
NSString *string = @"cxzcvxcv\n14, Beaven Dam Road\nVail, CO81657";
NSString *strAddress = @"14, Beaven Dam Road\nVail, CO81657";
NSLog(@"%@",[string componentsSeparatedByString:strAddress]);
выходы
(
"cxzcvxcv\n",
""
)
как и ожидалось. И для второго случая
NSString *string = @"14, Beaven Dam Road\nVail, CO81657";
NSString *strAddress = @"14, Beaven Dam Road\nVail, CO81657";
NSLog(@"%@",[string componentsSeparatedByString:strAddress]);
* 1 035 * выходы
(
"",
""
)
снова, как и ожидалось. Я не вижу здесь никаких проблем.