虽然不是 AV 设置,但为说话者解析短语将获得所需的结果。
例如,使用下面的扩展:
let number = "1492"
let phrase = number.separate(every: 2, with: " ")
print(phrase) // 14 92
对于手机:
let phone = "650-412-3456"
let parts = phone.components(separatedBy: CharacterSet.decimalDigits.inverted)
var phrase2 = String()
for part in parts {
if Int(part) != nil {
phrase2.append(String(describing: part).separate(every: 1, with: " ") + ",")
}
}
print(phrase2) // 6 5 0,4 1 2,3 4 5 6,
添加逗号是为了让语音合成器阅读更自然,但可以省略。
String extension from Joe Maher:
extension String {
func separate(every: Int, with separator: String) -> String {
return String(stride(from: 0, to: Array(self).count, by: every).map {
Array(Array(self)[$0..<min($0 + every, Array(self).count)])
}.joined(separator: separator))
}
}