数字格式的 iOS 语音到文本转换

app*_*ppu 5 voice-recognition ios swift

目前我正在使用默认的 iOS 语音到文本转换,而没有为其添加任何代码。当用户说“五”时,显示为“五”或“5”。但是,我需要始终将其转换为“5”。我可以用 SFSpeechRecognizer 或任何其他方式来实现这一目标吗?

Cod*_*der 3

这可以帮助您入门,但它无法处理包含数字和非数字的混合字符串。理想情况下,您需要在每个单词出现时对其进行处理,但这会对例如组合数字(三十四个)产生潜在影响。

let fiveString = "five"
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .spellOut

print(numberFormatter.number(from: fiveString)?.stringValue) // 5

let combinedString = "five dogs"
print(numberFormatter.number(from: combinedString)?.stringValue) // nil

let cString = "five hundred"
print(numberFormatter.number(from: cString)?.stringValue) // 500

let dString = "five hundred and thirty-seven"
print(numberFormatter.number(from: dString)?.stringValue) // 537
Run Code Online (Sandbox Code Playgroud)