removeDiacritics property

String get removeDiacritics

Removes diacritics from the string. Diacritics are accents or other marks added to letters in some languages. If the string is blank, it returns a blank string. If a diacritic is not found in the map, it keeps the original character. Returns the modified string with diacritics removed.

Implementation

String get removeDiacritics {
  if (isBlank) return blankIfNull;
  if (_diacriticsMap.isEmpty) {
    for (int i = 0; i < _defaultDiacriticsRemovalap.length; i++) {
      var letters = _defaultDiacriticsRemovalap[i]['letters'];
      for (int j = 0; j < letters!.length; j++) {
        _diacriticsMap[letters[j]] = _defaultDiacriticsRemovalap[i]['base'];
      }
    }
  }
  return replaceAllMapped(_diacriticsRegExp, (a) => _diacriticsMap[a.group(0)] ?? a.group(0));
}