How to convert a string to PascalCase using RegEx in Swift

1 Answer

0 votes
import Foundation

func getPascalCase(_ input: String) -> String {
    var str = input
    if !str.contains(" ") {
        str = str.replacingOccurrences(of: "(?<=[a-z])(?=[A-Z])", with: " ", options: .regularExpression)
    }

    let words = str.lowercased().components(separatedBy: CharacterSet.whitespacesAndNewlines.union(CharacterSet(charactersIn: "_")))
    var result = ""

    for word in words {
        if !word.isEmpty {
            result += word.capitalized
        }
    }

    return result
}

print(getPascalCase("get file content"))
print(getPascalCase("get_file_content"))
print(getPascalCase("get______file___content"))
print(getPascalCase("get______file____  content"))
print(getPascalCase("GET FILE CONTENT"))
print(getPascalCase("get    file      content"))
print(getPascalCase("getFileContent"))



/*
run:

GetFileContent
GetFileContent
GetFileContent
GetFileContent
GetFileContent
GetFileContent
GetFileContent

*/

 



answered Feb 23, 2025 by avibootz

Related questions

2 answers 122 views
1 answer 99 views
1 answer 106 views
1 answer 108 views
1 answer 95 views
...