1

我目前正在查看这样的字符串的一部分;

            if (thisChar == 'a')
            [self a];

        else if (thisChar == 'b')
            [self b];

        else if (thisChar == 'c')
            [self c];

…………

        else if (thisChar == '0')
        [self zero];

    else if (thisChar == '1')
        [self one];

    else if (thisChar == '2')
        [self two];

    else if (thisChar == '3')
        [self three];

…………

            else if (thisChar == '.')
        [self period];

    else if (thisChar == ',')
        [self comma];

    else if (thisChar == '?')
        [self qmark];

但是当我来的时候问题就出现了

else if (thisChar == ''')
        [self three];

我想要的是'(撇号)符号,但它不会让我这样做。我知道原因,但我不知道如何解决它。这样做会有帮助吗?

NSString *apostropheString = [[NSString alloc] initWithFormat:@"'"];

unichar apostrophe = [apostropheString characterAtIndex:0];

我可以使用 isEqualToString 吗?

if ([apostrophe isEqualToString: thisChar]) 

任何帮助将不胜感激!


通过执行以下操作,我找到了解决方法;

1)。创建一个带有单引号的 NNString

NSString *apostropheString = [[NSString alloc] initWithFormat:@"'"];

2)。获取它以将其转换为名为“app”的 unichar,因为它是零索引的,并且索引只有一个字符为 0。

unichar app = [apostropheString characterAtIndex:0];

3)。然后我说如果“thisChar”等于“app”运行“qmark”

else if (thisChar == app)
        [self qmark];

我希望这对任何有同样问题的人有所帮助!

4

1 回答 1

3

您必须使用反斜杠转义撇号:'\''

于 2011-01-30T20:25:35.227 回答