objective-c - 在大写字母处插入或拆分字符串 objective-c

标签 objective-c

在 objective-c 中将“ThisStringIsJoined”之类的字符串转换为“This String Is Joined”的最有效方法是什么?

我从我无法控制的 Web 服务中收到这样的字符串,我想将数据呈现给用户,所以我想通过在每个大写单词前面添加空格来稍微整理一下。字符串的格式始终为每个单词都以大写字母开头。

我是 objective-c 的新手,所以真的搞不懂这个。

谢谢

最佳答案

实现此目的的一种方法如下:

NSString *string = @"ThisStringIsJoined";
NSRegularExpression *regexp = [NSRegularExpression 
    regularExpressionWithPattern:@"([a-z])([A-Z])" 
    options:0 
    error:NULL];
NSString *newString = [regexp 
    stringByReplacingMatchesInString:string 
    options:0 
    range:NSMakeRange(0, string.length) 
    withTemplate:@"$1 $2"];
NSLog(@"Changed '%@' -> '%@'", string, newString);

这种情况下的输出是:

'ThisStringIsJoined' -> 'This String Is Joined'

您可能希望根据自己的需要调整正则表达式。你可能想把它变成 NSString 上的一个类别。

关于objective-c - 在大写字母处插入或拆分字符串 objective-c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7322498/

相关文章:

iphone - 覆盖 layoutSubviews 调用 [super layoutSubviews] 然后找到并重新定位按钮的 View

ios - 自定义 NSUncaughtExceptionHandler 调用先前的异常处理程序

java - Objective C iOS 中文件上传图像文件代码

iphone - 从多个 Controller 访问模型对象?

ios - 是否可以通过 iOS 应用程序确认电话是否已接听?

ios - 更改导航栏中自动创建的按钮上的文本

ios - 如何将 UITableView Cell 链接到 Storyboard 中的不同 ViewController

iphone - 更新 block 中的 NSUInteger 属性。警告 : Block will be retained by

ios - 点击 UIButton 后显示 UITableView

ios - dyld:dyld_sim与mach-o xcode 9.0不兼容