import 'package:flutter/services.dart'; class TextField4SpaceFormatter extends TextInputFormatter { @override TextEditingValue formatEditUpdate( TextEditingValue oldValue, TextEditingValue newValue, ) { final text = newValue.text.replaceAll(' ', ''); final buffer = StringBuffer(); for (int i = 0; i < text.length; i++) { buffer.write(text[i]); if ((i + 1) % 4 == 0 && i + 1 != text.length) { buffer.write(' '); } } final formattedText = buffer.toString(); return newValue.copyWith( text: formattedText, selection: TextSelection.collapsed(offset: formattedText.length), ); } }