Objective-c: длина строки с включенными пробелами - PullRequest
1 голос
/ 03 декабря 2011

Я пытаюсь получить количество символов в строке, включая пробелы.Если у меня есть строка, говорящая: "Привет, как дела?"и я запускаю этот код:

 NSUInteger newLength = [myString length];

он возвращает 15. Тем не менее, если вы включаете пробелы ... 18 символов, так какой код я должен использовать?Или мне нужно будет выполнить код, чтобы заменить все пробелы каким-либо символом, например звездочкой, посчитать количество символов, а затем вернуть строку в исходную строку.Это было бы не так уж и плохо, если бы мне не пришлось делать это много раз, поэтому я ищу более быстрый путь.Спасибо!

Ответы [ 3 ]

2 голосов
/ 03 декабря 2011

Из Документации ..

[string length];   

Возвращает количество символов Юникода в приемнике. Space также является символом Unicode

2 голосов
/ 03 декабря 2011

Не могли бы вы опубликовать свой код создания строки? Это кажется странным для меня. Но длина документа NSString говорит:

Количество символов Unicode в приемнике.

В любом случае вы можете получить строку c и использовать strlen, возможно, это поможет.

size_t length = strlen([myString cStringUsingEncoding:NSUTF8StringEncoding]);
0 голосов
/ 03 декабря 2011

Вы используете это, чтобы получить длину строки, включая пробелы:

NSUInteger newLength = [myString length];

(то есть, вы не должны возвращаться 15, а 18)

...