2012-12-21 40 views
4

我对NSString处理capitalizedString方法有一个好奇的案例。capitalizedString大写连字符后的单词?

我呼吁下列字符串“布卢尔 - 央街”

capitalizedString和它返回:"Bloor-Yonge"

我回忆专门从开发文档阅读与问候以下到capitalizedString

“其他没有考虑常用单词分隔符,如连字符和其他标点符号,因此此方法通常不会为多字符串生成所需的结果。“

我很好奇为什么yonge-->变成Yonge以及为什么发生这种情况,尽管在文档中指出的例外。任何人都可以为此澄清?

谢谢您的时间和提前回应!

P.S它实际上做了我想做的事情 - 我只是为了未来的缘故而好奇,因为我不想让后缀连字符大写。

+4

的文档或者是过时的或绝对错误的,或者没有在'capitalizedString'方法的错误。参考文件底部有一个链接,可以让您报告此类问题。让苹果知道这种差异。 – rmaddy

回答

4

这种方法会为你工作,检查了该方法的输出

- (NSString *)CapitalizeString:(NSString *)str { 


    [str stringByReplacingOccurrencesOfString:@"-" withString:@"#Check# "]; 

    [str capitalizedString]; 

    [str stringByReplacingOccurrencesOfString:@"#Check# " withString:@"-"]; 

    return str; 

} 

enter image description here

+0

嘿Junaid,capitalizedString实际上是这样做的,如果我没有弄错的话。我想知道这是否是苹果代码中的一个错误。感谢您的代码,但很高兴知道潜在问题的解决方法。 –

+0

capitalizedString不具备该功能,如果此方法适用于您,则将此答案标记为正确 – junaidsidhu

相关问题