我正在创建一个在SQL语句中使用的字符串。我需要在其中重复使用相同的字符串几次。此字符串是文本框中的文本。
当前代码:
NSString *searchStr = [NSString stringWithFormat:@"(Name LIKE \'%%%@%%\' OR Contact LIKE \'%%%@%%\')", [self.txtfSearch text], [self.txtfSearch text]];
所有%都用于包含搜索。请不要对此方法发表评论,因为我正在连接到目前无法控制的网络服务。我相信你们都可以联系起来。
我需要做的是在最后重用[self.txtfSearch text]部分。我在字符串和占位符上查找了苹果开发文档。我甚至尝试了使用{0}作为占位符的C#方法,但我无法让它工作。
如果我正在查看2列,那么如上所述并不是什么大不了的事,但是在很多情况下,它会变为6或更多,然后字符串构建变得荒谬。
我想要这样的事情:
NSString *searchStr = [NSString stringWithFormat:@"(Name LIKE \'%%{0}%%\' OR Contact LIKE \'%%{0}%%\')", [self.txtfSearch text]];
有没有办法在obj-c中执行此操作?
答案 0 :(得分:1)
你可以这样做:
NSString *placeholderStr = @"_";
NSString *searchStr = [@"(Name LIKE '%%_%%' OR Contact LIKE '%%_%%'" stringByReplacingOccurrencesOfString: placeholderStr withString: [self.txtfSearch text]];
这将用txtfSearch
中的任何文本替换所有下划线(_)。