python - Objective-C 字符串操作

标签 python objective-c ruby string objective-c++

目前我正在开发一款软件,该软件目前 100% 使用 iPhone 3.0 SDK 以 Objective-C 编写。

我来到了一个十字路口,我需要做很多事情或字符串连接,更具体地说,NSString 连接,到目前为止我一直这样做:

Objective-C 字符串连接:

NSString *resultantString = (NSMutableString*)[@"Hello " stringByAppendingString: @"World"];

现在你可以想象,当我尝试将 6 个 NSString 连接在一起时,这会变得很难阅读。

起初我考虑混合在一个 Objective-C++ 类中来进行我的字符串连接,然后将它交还给我的 Objective-C 类,因为这样我就可以使用 C++ 的简单字符串连接,例如:

C++ 字符串连接:

string cppString = "Hello" + "World" + "see" + "easy!";

我可以使用 C 字符数组,但这会有点难以阅读。

然后我突然想到我可以在 Cocoa 中使用 Python 或 Ruby 桥接器(与基于 C 的语言相比,它们提供了正则表达式和更高级的字符串处理的额外好处)。

这对我来说很有意义,尽管我只编写了少量的 Ruby 和 Python 代码,因为它们被标榜为字符串操作语言。我决定跳过 Perl,因为 Xcode 不直接支持它。

我也对性能感兴趣,所以我正在寻找最快的字符串连接方法。

那我该怎么办呢?我在 Objective-C 中是否缺少一些非常简单的方法来一次连接多个字符串,比如说 10 个字符串?或者我的想法是使用 Python 或 Ruby 类方法来返回连接的或正则表达式修改的字符串,而不像听起来那么疯狂?也许我什至错过了另一种方法来做到这一点?

更新: 是的。似乎我对引入另一种语言运行时来进行字符串操作的想法相当疯狂,特别是因为我注意到我关心的是速度。添加桥可能比简单地使用 NSString/NSMutableString 慢得多。

最佳答案

对于固定大小的连接,您可以使用 [NSString stringWithFormat:],例如:

NSString *str = [NSString stringWithFormat:@"%@ %@ %@",
                                  @"Hello", @"World", @"Yay!"];

关于python - Objective-C 字符串操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1093805/

相关文章:

Python卫星跟踪与Orbitron,pyephem-位置不匹配

ruby-on-rails - 基于 Mechanize 提取职业,员工网址

ruby - 字符串中实际百分比的字符串插值

ruby-on-rails - 如何使用 gem 移动性按区域设置过滤记录?

python - 如何使大型 python 数据结构更有效地解开?

python - 如何让 python HTTP 服务器永远保持运行状态?

python - 如何在 Django View 中解析 JSON

iphone - 在 iOS sdk 中实现 adColony 时出错

objective-c - 解析邮件以获取附件

ios - 如果我在没有任何断点的情况下运行应用程序,应用程序会崩溃,但是当我使用断点运行时,它在 ios 中运行良好。如何检查问题?