首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使UILabel中的第一个字母大写?

如何使UILabel中的第一个字母大写?
EN

Stack Overflow用户
提问于 2012-01-27 01:08:18
回答 9查看 42.8K关注 0票数 51

我正在开发一个iPhone应用程序。在标签中,我希望显示用户姓名的第一个大写字母。我该怎么做?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-01-27 01:11:29

如果只有一个单词字符串,则使用方法

-capitalized

代码语言:javascript
运行
复制
let capitalizedString = myStr.capitalized // capitalizes every word

否则,对于多个单词字符串,您必须提取第一个字符,并仅将该字符设为大写。

票数 101
EN

Stack Overflow用户

发布于 2013-07-15 19:16:00

(2014-07-24:当前接受的答案不正确)问题非常具体:第一个字母大写,其余的小写。使用capitalizedString会产生不同的结果:“大写字符串”而不是“大写字符串”。根据区域设置,还有另一个变体,它是capitalizedStringWithLocale,但它不适用于西班牙语,目前它使用与英语相同的规则,所以我在西班牙语中是这样做的:

代码语言:javascript
运行
复制
NSString *abc = @"this is test";

abc = [NSString stringWithFormat:@"%@%@",[[abc substringToIndex:1] uppercaseString],[abc substringFromIndex:1] ];       
NSLog(@"abc = %@",abc);
票数 63
EN

Stack Overflow用户

发布于 2016-09-27 22:56:45

如果有人仍然对2016感兴趣,这里有一个Swift 3扩展:

代码语言:javascript
运行
复制
extension String {
    func capitalizedFirst() -> String {
        let first = self[self.startIndex ..< self.index(startIndex, offsetBy: 1)]
        let rest = self[self.index(startIndex, offsetBy: 1) ..< self.endIndex]
        return first.uppercased() + rest.lowercased()
    }

    func capitalizedFirst(with: Locale?) -> String {
        let first = self[self.startIndex ..< self.index(startIndex, offsetBy: 1)]
        let rest = self[self.index(startIndex, offsetBy: 1) ..< self.endIndex]
        return first.uppercased(with: with) + rest.lowercased(with: with)
    }
}

然后,您可以完全按照通常的大写()或大写()的方式使用它:

myString.capitalizedFirst()myString.capitalizedFirst(with: Locale.current)

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9022164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档