如何防止 Swift 5 中的某些文本大写?
How to prevent capitalizing some of the texts in Swift 5?
下面是我需要大写的示例代码。我是用“大写”的方法实现的。
var string = "6TH FLOOR BAMBALAPITIYA"
print(string.capitalized)
结果是,
6Th Floor Bambalapitiya
但是我不想让“6Th Floor”中的字母T大写。请帮我写一个常用的函数来实现,
6th Floor Bambalapitiya
提前致谢
尝试这样的事情:
func addressCapitalised(_ str: String) -> String {
var result = str
let temp1 = str.split(separator: " ")
if let firstStr = temp1.first {
let temp2 = String(firstStr).lowercased()
let temp3 = temp1.dropFirst().joined(separator: " ").capitalized
result = (temp2 + " " + temp3).trimmingCharacters(in: .whitespacesAndNewlines)
}
return result
}
let myString = "6TH FLOOR BAMBALAPITIYA"
let dasCapital = addressCapitalised(myString)
print("\n----> dasCapital: \(dasCapital) ")
var string = "6TH FLOOR BAMBALAPITIYA"
print(string.lowercased().split(separator: " ").map { [=10=].prefix(1).uppercased() + [=10=].dropFirst() }.joined(separator: " "))
// 6th Floor Bambalapitiya
为了更容易理解,我将分解这些步骤。
- 小写整个字符串。
- 使用
" "
作为分隔符将字符串拆分为一个数组。
- 使用
map
遍历数组的每个元素。
- 大写每个元素的第一个字符并组合元素的其余部分,删除第一个字符(因为我们已经有了前缀)。
- 使用
" "
. 将数组重新组合成一个字符串
下面是我需要大写的示例代码。我是用“大写”的方法实现的。
var string = "6TH FLOOR BAMBALAPITIYA"
print(string.capitalized)
结果是,
6Th Floor Bambalapitiya
但是我不想让“6Th Floor”中的字母T大写。请帮我写一个常用的函数来实现,
6th Floor Bambalapitiya
提前致谢
尝试这样的事情:
func addressCapitalised(_ str: String) -> String {
var result = str
let temp1 = str.split(separator: " ")
if let firstStr = temp1.first {
let temp2 = String(firstStr).lowercased()
let temp3 = temp1.dropFirst().joined(separator: " ").capitalized
result = (temp2 + " " + temp3).trimmingCharacters(in: .whitespacesAndNewlines)
}
return result
}
let myString = "6TH FLOOR BAMBALAPITIYA"
let dasCapital = addressCapitalised(myString)
print("\n----> dasCapital: \(dasCapital) ")
var string = "6TH FLOOR BAMBALAPITIYA"
print(string.lowercased().split(separator: " ").map { [=10=].prefix(1).uppercased() + [=10=].dropFirst() }.joined(separator: " "))
// 6th Floor Bambalapitiya
为了更容易理解,我将分解这些步骤。
- 小写整个字符串。
- 使用
" "
作为分隔符将字符串拆分为一个数组。 - 使用
map
遍历数组的每个元素。 - 大写每个元素的第一个字符并组合元素的其余部分,删除第一个字符(因为我们已经有了前缀)。
- 使用
" "
. 将数组重新组合成一个字符串