formatName method
Implementation
String formatName({required String name, required bool isDir}) {
String aName = name;
if (!isDir && aName.contains(".")) {
aName = aName.replaceAll(RegExp(r"\.[^\.]+$"), "");
}
// 扩展的特殊字符:空格、下划线、点、$、@、#、!、% 等
List<String> parts =
aName.split(RegExp(r"[\s_\.\$\@\#\!\%\^\&\*\(\)\-\+=]+"));
List<String> capitalizedParts = [];
for (int i = 0; i < parts.length; i++) {
String tmpPart = parts[i];
if (tmpPart.isEmpty) {
continue;
}
if (capitalizedParts.isNotEmpty) {
// 大写
tmpPart = tmpPart[0].toUpperCase() + tmpPart.substring(1);
} else {
tmpPart = tmpPart[0].toLowerCase() + tmpPart.substring(1);
}
capitalizedParts.add(tmpPart);
}
return capitalizedParts.join("");
}