digitCorrection function
This function replaces problematic characters in the input string with their digit representations,
but only if the single text is mostly composed of digits.
Implementation
String digitCorrection(final String input) {
const Map<String, String> map = {
'o': '0',
'O': '0',
'i': '1',
'l': '1',
's': '5',
'S': '5',
'B': '8',
};
// Otherwise, perform the digit replacement
String correction = '';
for (int i = 0; i < input.length; i++) {
String char = input[i];
if (isDigit(char)) {
correction += char;
} else {
// Replace problematic characters with their digit representations
correction += map[char] ?? char;
}
}
return correction;
}