如何在Objective-C中将文本转换为驼峰大小写?

Mos*_*she 6 c objective-c string-formatting

我正在做一些小工具来帮助我为我正在制作的应用程序生成代码.我喜欢为我的NSUserDefaults设置设置常量,以便我的代码更易读,更易于维护.问题是,为一切制作常量需要一些时间,所以我正在尝试编写一个实用程序来为我生成代码.我希望能够输入一个字符串并将其转换为驼峰案例,如下所示:

- (NSString *)camelCaseFromString:(NSString *)input{
    return inputAsCamelCase;
}
Run Code Online (Sandbox Code Playgroud)

现在,输入字符串可能由多个单词组成.我假设我需要某种正则表达式,或者可能还有另一种方法可以做到这一点.我想输入这样的东西:

@"scrolling direction"
Run Code Online (Sandbox Code Playgroud)

或这个:

@"speed of scrolling"
Run Code Online (Sandbox Code Playgroud)

并得到这样的东西:

kScrollingDirection
Run Code Online (Sandbox Code Playgroud)

或这个:

kSpeedOfScrolling
Run Code Online (Sandbox Code Playgroud)

您将如何删除空格并使用大写版本替换空格后面的字符?

Eva*_*ski 14

- (NSString *)camelCaseFromString:(NSString *)input
{
    return [NSString stringWithFormat:@"k%@", [[input capitializedString]stringByReplacingOccurrencesOfString:@" " withString:@""]];
}
Run Code Online (Sandbox Code Playgroud)
  1. 把每个词都大写.
  2. 删除空格.
  3. 在开头插入"k".(不是字面意思,而是简化使用stringWithFormat.)