ios 在构建字符串时我需要重用相同的占位符

标签 ios objective-c

<分区>

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

最佳答案

你能不能做这样的事情:

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

这会将所有下划线 (_) 替换为 txtfSearch 中的任何文本。

关于ios 在构建字符串时我需要重用相同的占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17933354/

相关文章:

objective-c - 目前支持的提权方式

ios - 如何使用 WKWebView 执行 list 请求

iphone - MBHUD进度条加ASIHTTPRequest用于跟踪下载

iphone - 隐藏 UIPageControl

ios - 在 iOS8 中不再可以访问 UITableViewHeaderFooterView 上的 textLabel?

iphone - 带圆角的 UIView?

objective-c - ObjC 弧 : does a weak property's setter method run when the object is set to nil by ARC?

ios - 使用 Swift 在 iOS 上将身份验证凭据添加到钥匙串(keychain)

ios - 统计ios app中的分享总数

ios - swift 中的 UiAlertMultiple 行问题