2011-12-03 8 views
1

スペースを含む文字列の文字数を取得しようとしています。 「お元気ですか?」という文字列があれば と私はこのコードを実行します。Objective-c:空白を含む文字列の長さ

NSUInteger newLength = [myString length]; 

それは15 そこにスペースが含まれている場合にかかわらず、18の文字が...あるので、私はどのようなコードを使用する必要がありますを返しますか?あるいは、私はすべてのスペースをアスタミックスのような文字で置き換え、文字数を数えてから元の文字列に戻すコードを実行する必要があります。それは私がこれを何度もやらなければならないことを除いて、それほど悪くないでしょう。私はより早い方法を探しています。ありがとう!

+0

あなたは本当に15を取得していますか? – Narayana

+2

'[@"こんにちはどうですか? "長さ] 'が返されます18 – albertamg

+0

*" how "*、*"が*または* "あなたの元の文字列にあるかどうかを確認してください;-) – EmptyStack

答えて

2

文字列作成コードを投稿できますか?私にとっては奇妙に思える。しかし、NSStringの長さは、次のようになります。

受信者のUnicode文字の数。

いずれにしても、Cの文字列を取得してstrlenを使うことができます。

あなたがスペースを含む、文字列の長さを取得するためにこれを使用
size_t length = strlen([myString cStringUsingEncoding:NSUTF8StringEncoding]); 
2

(つまり、あなたは15が、18を返しべきではありません)。

[string length]; 

受信者のUnicode文字の数を返します。 Spaceもユニコード文字

関連する問題