initials static method

String initials(
  1. String? name, {
  2. int maxChars = 2,
  3. String fallback = '?',
})

Builds a short initials string from name (max maxChars characters).

ImageUtils.initials('Nash Taha') // 'NT'
ImageUtils.initials('Ada')       // 'A'

Implementation

static String initials(String? name,
    {int maxChars = 2, String fallback = '?'}) {
  if (name == null || name.trim().isEmpty) return fallback;
  final List<String> parts = name
      .trim()
      .split(RegExp(r'\s+'))
      .where((String p) => p.isNotEmpty)
      .toList();
  final StringBuffer buffer = StringBuffer();
  for (final String part in parts) {
    buffer.write(part[0]);
    if (buffer.length >= maxChars) break;
  }
  final String result = buffer.toString().toUpperCase();
  return result.isEmpty ? fallback : result;
}