convertAllExtensionsToCamelCase method

String convertAllExtensionsToCamelCase(
  1. String filePath
)

将所有扩展名层级转换为驼峰形式

  • sleep.abc.pngsleepAbcPng
  • sleep.as.a12.pngsleepAsA12Png

Implementation

String convertAllExtensionsToCamelCase(String filePath) {
  if (filePath.isEmpty) return filePath;

  final normalizedPath = filePath.replaceAll(r'\', '/');
  final lastSlashIndex = normalizedPath.lastIndexOf('/');
  final fileName = lastSlashIndex == -1
      ? normalizedPath
      : normalizedPath.substring(lastSlashIndex + 1);

  if (fileName.isEmpty || !fileName.contains('.')) {
    return filePath; // 无扩展名
  }

  // 分割文件名和目录
  final dir = lastSlashIndex == -1
      ? ''
      : normalizedPath.substring(0, lastSlashIndex + 1);
  final parts = fileName.split('.');

  // 处理每个部分(首字母大写)
  final camelCaseName = parts.map((part) {
    if (part.isEmpty) return '';
    return part[0].toUpperCase() + part.substring(1);
  }).join();

  return dir + camelCaseName;
}