toGreekUpperCase method

String? toGreekUpperCase()

Properly upper cases Greek letters removing their tones.

Example

String greek = 'Τι κάνεις πώς τα περνάς φίλτατέ μου';
String greekUpper = greek.toGreekUpperCase(); // returns 'ΤΙ ΚΑΝΕΙΣ ΠΩΣ ΤΑ ΠΕΡΝΑΣ ΦΙΛΤΑΤΕ ΜΟΥ'

Implementation

String? toGreekUpperCase() {
  if (this.isBlank) {
    return this;
  }
  return this!.toUpperCase().replaceAllMapped(RegExp(r'[ΆΈΉΊΎΏΌ]'), (match) {
    switch (match.group(0)) {
      case 'Ά':
        return 'Α';
      case 'Έ':
        return 'Ε';
      case 'Ή':
        return 'Η';
      case 'Ί':
        return 'Ι';
      case 'Ύ':
        return 'Υ';
      case 'Ώ':
        return 'Ω';
      case 'Ό':
        return 'Ο';
      default:
        return match.group(0) ?? this!.toUpperCase();
    }
  });
}