pathChangeExtension function

String pathChangeExtension(
  1. String path,
  2. String newExt
)

Returns path with its extension replaced by newExt.

A leading dot in newExt is optional. An empty newExt strips the extension entirely.

Example:

pathChangeExtension('photo.png', 'jpg'); // 'photo.jpg'
pathChangeExtension('photo.png', '.webp'); // 'photo.webp'
pathChangeExtension('photo.png', ''); // 'photo'

Implementation

String pathChangeExtension(String path, String newExt) {
  final String without = pathWithoutExtension(path);
  if (newExt.isEmpty) return without;
  return without + (newExt.startsWith('.') ? newExt : '.$newExt');
}