2

我正在制作一个在 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 中做到这一点?

4

1 回答 1

1

你能做这样的事情吗:

NSString *placeholderStr = @"_";
NSString *searchStr = [@"(Name LIKE '%%_%%' OR Contact LIKE '%%_%%'" stringByReplacingOccurrencesOfString: placeholderStr withString: [self.txtfSearch text]];

这会将所有下划线 (_) 替换为txtfSearch.

于 2013-07-29T21:16:44.890 回答