用户在文本字段中输入一个句子, 然后在一个文本字段中输入数字4,在另一个文本字段中输入数字6。将第4个字母和第6个字母位于的句子大写。
例如,用户输入:“一年中有12个月”
输出为:“一年12个月”。
如何在一个句子中大写4-6个字母?
答案 0 :(得分:2)
这是您要找的吗?
num2cell
如果您只想对字母进行计数,并且要从1开始计数,则
func capitalize(string: String, positions: IndexSet) -> String {
let range = (0..<string.count)
guard string.count > 0,
positions.allSatisfy({ range ~= $0 }) else {
fatalError("Couldn't capitalize")
}
return String(string.enumerated().map{ (index, char) in
return positions.contains(index) ? String(char).capitalized.first! : char
})
}
var str = "there are 12 months in a year"
capitalize(string: str, positions: [3, 6]) //"theRe Are 12 months in a year"