1

文字間のスペースを見つけ、スペースの前の文字と後の文字を使用するコードを作成しています。これらの文字は NSString に格納されます。これは私がこれまでに持っているものですが、空の文字は表示されません。

    NSString *tempTitle = self.title;
unsigned int indexOfSpace; // Holds the index of the character with the space
unsigned int titleLength = (unsigned int)self.title.length; // Holds the length of the title
for (unsigned int count = 0; count < titleLength; count++)
{
    if ([tempTitle characterAtIndex:count] == "") // If the character at the index is blank, store this and stop
    {
        indexOfSpace == count;
    }
    else // Else, we keep on rollin'
    {
        NSLog(@"We're on character: %c", [tempTitle characterAtIndex:count]);
    }
}

nil、空の文字列 ("") と " "を試しましたが、役に立ちませんでした。何か案は?

4

1 に答える 1

4

スペース文字は、二重引用符ではなく単一引用符で囲む必要があります。一重引用符は、C の char 型を取得します (二重引用符は文字列リテラルを作成します。これは本質的に として機能し、char *比較を渡すことはありません)。

-[NSString characterAtIndex:]unichartypeであるtype を返すので、それがunsigned shortしたい場合は、これをスペース文字と直接比較できるはず' 'です。

nil と空の文字列はここでは役に立たないことに注意してください。どちらも実際には文字ではなく、いずれにしても文字列にこれらが「含まれる」ことはありません。

また、文字列内の文字を直接検索するための NSString メソッドも参照する必要があります-[NSString rangeOfString:]。これにより、ループを自分で書くことはできなくなりますが、残念ながら、それらは構文的に少し冗長です。

于 2010-02-01T02:06:56.863 に答える