pathChangeExtension function
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');
}