function getPascalCase(input) {
if (!input.includes(" ")) {
input = input.replace(/(?<=[a-z])(?=[A-Z])/g, " ");
}
// Replace non-breaking spaces with regular spaces
input = input.replace(/\u00A0/g, " ");
const words = input.toLowerCase().split(/[\s_]+/);
let result = "";
for (let word of words) {
if (word.length > 0) {
result += word[0].toUpperCase() + word.slice(1);
}
}
return result;
}
console.log(getPascalCase("get file content"));
console.log(getPascalCase("get_file_content"));
console.log(getPascalCase("get______file___content"));
console.log(getPascalCase("get______file____\u00A0 content")); // Non-breaking space
console.log(getPascalCase("GET FILE CONTENT"));
console.log(getPascalCase("get\u00A0 \u00A0 file\u00A0 \u00A0 \u00A0 content")); // Non-breaking spaces
console.log(getPascalCase("getFileContent"));
console.log(getPascalCase(" get file content"));
console.log(getPascalCase("get file content "));
/*
run:
GetFileContent
GetFileContent
GetFileContent
GetFileContent
GetFileContent
GetFileContent
GetFileContent
GetFileContent
GetFileContent
*/