Som*_*Guy 222 string ios swift ios8-extension
我正在尝试创建一个自动更正系统,当用户键入带有大写字母的单词时,自动更正功能不起作用.为了解决这个问题,我制作了一个字符串类型的副本,应用了.lowercaseString,然后对它们进行了比较.如果字符串确实是错误的,它应该纠正这个词.然而,替换键入的单词的单词都是小写的.所以我需要将.uppercaseString仅应用于第一个字母.我原本以为我可以用
nameOfString[0]
Run Code Online (Sandbox Code Playgroud)
但这显然不起作用.如何将字符串的第一个字母设置为大写,然后能够打印第一个字母大写的完整字符串?
谢谢你的帮助!
Kir*_*ins 484
包括与API指南一致的变异和非变异版本.
斯威夫特3:
extension String {
func capitalizingFirstLetter() -> String {
let first = String(characters.prefix(1)).capitalized
let other = String(characters.dropFirst())
return first + other
}
mutating func capitalizeFirstLetter() {
self = self.capitalizingFirstLetter()
}
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特4:
extension String {
func capitalizingFirstLetter() -> String {
return prefix(1).uppercased() + self.lowercased().dropFirst()
}
mutating func capitalizeFirstLetter() {
self = self.capitalizingFirstLetter()
}
}
Run Code Online (Sandbox Code Playgroud)
Leo*_*bus 130
Xcode 9•Swift 4
extension StringProtocol {
var firstUppercased: String {
return prefix(1).uppercased() + dropFirst()
}
var firstCapitalized: String {
return prefix(1).capitalized + dropFirst()
}
}
Run Code Online (Sandbox Code Playgroud)
extension StringProtocol {
var firstUppercased: String {
return prefix(1).uppercased() + dropFirst()
}
var firstCapitalized: String {
return String(prefix(1)).capitalized + dropFirst()
}
}
Run Code Online (Sandbox Code Playgroud)
Mas*_*lko 82
Swift 3.0
为"你好世界"
nameOfString.capitalized
Run Code Online (Sandbox Code Playgroud)
或者为"你好世界"
nameOfString.uppercased
Run Code Online (Sandbox Code Playgroud)
sam*_*m k 39
Swift 4.0
string.capitalized(with: nil)
Run Code Online (Sandbox Code Playgroud)
要么
string.capitalized
Run Code Online (Sandbox Code Playgroud)
然而,这大写每个单词的第一个字母
Apple的文档:
大写字符串是一个字符串,每个单词中的第一个字符更改为其对应的大写值,并且所有剩余字符都设置为其对应的小写值."单词"是由空格,制表符或行终止符分隔的任何字符序列.不考虑一些常用的分隔标点符号,因此该属性通常不会产生多字符串的期望结果.有关其他信息,请参阅getLineStart(_:end:contentsEnd:for :)方法.
use*_*304 23
extension String {
func firstCharacterUpperCase() -> String? {
let lowercaseString = self.lowercaseString
return lowercaseString.stringByReplacingCharactersInRange(lowercaseString.startIndex...lowercaseString.startIndex, withString: String(lowercaseString[lowercaseString.startIndex]).uppercaseString)
}
}
let x = "heLLo"
let m = x.firstCharacterUpperCase()
Run Code Online (Sandbox Code Playgroud)
Phi*_*hil 10
Swift 2.0(单行):
String(nameOfString.characters.prefix(1)).uppercaseString + String(nameOfString.characters.dropFirst())
Run Code Online (Sandbox Code Playgroud)
斯威夫特 3 (xcode 8.3.3)
大写字符串的所有第一个字符
let str = "your string"
let capStr = str.capitalized
//Your String
Run Code Online (Sandbox Code Playgroud)
大写所有字符
let str = "your string"
let upStr = str.uppercased()
//YOUR STRING
Run Code Online (Sandbox Code Playgroud)
仅大写字符串的第一个字符
var str = "your string"
let capStr = String(str.characters.prefix(1)).uppercased() + String(str.characters.dropFirst())
//Your string
Run Code Online (Sandbox Code Playgroud)
小智 6
在迅捷 5
https://www.hackingwithswift.com/example-code/strings/how-to-capitalize-the-first-letter-of-a-string
extension String {
func capitalizingFirstLetter() -> String {
return prefix(1).capitalized + dropFirst()
}
mutating func capitalizeFirstLetter() {
self = self.capitalizingFirstLetter()
}
}
Run Code Online (Sandbox Code Playgroud)
与您的字符串一起使用
let test = "the rain in Spain"
print(test.capitalizingFirstLetter())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
119500 次 |
| 最近记录: |