如何设置包含%% @%的NSString和%@一个值?

时间:2013-03-28 20:52:26

标签: ios objective-c nsstring

我想将NSString设置为@"SELECT a, b FROM abc WHERE c LIKE %MYVALUE%"。 所以我使用NSString初始化我的initWithFormat

NSString * query = [[NSString alloc] initWithFormat:@"SELECT a, b FROM abcd WHERE c LIKE %%@%%", searchBar.text];

但它当然不起作用。

如何构建此类查询?

3 个答案:

答案 0 :(得分:2)

撰写%%以在字符串中加入%

@"SELECT a, b FROM abcd WHERE c LIKE '%%%@%%'"

您当前的字符串(%%@%%)将被解释为百分号,符号,百分号(%@%

答案 1 :(得分:1)

您是否需要使用LIKE标记'条件的开头和结尾?

所以initWithFormat:@"SELECT a, b FROM abcd WHERE c LIKE '%%%@%%'", searchBar.text];

答案 2 :(得分:0)

使用当前的%% @ %%,第一个%转义第二个百分比,然后你只有一个@然后你有另一个%转义另一个%,导致%@%

你真正想要的是%% @%,但是你需要用%来逃避%,这样你就得到了%%%@%% %searchBar.Text%