How do I convert a string to uppercase or lowercase in EK9?
← Common String Operations · Ref: Q172
EK9 strings have .upperCase() and .lowerCase() methods that return new strings.
UPPERCASE
Convert to all uppercase letters:
upper <- myString.upperCase()
Returns a new string. The original is unchanged.
LOWERCASE
Convert to all lowercase letters:
lower <- myString.lowerCase()
CASE-INSENSITIVE COMPARISON
Convert both strings to the same case before comparing:
if input.lowerCase() == "yes" stdout.println("Confirmed")
See Q37 for comprehensive string operations.
See Q37 for strings. See Q170 for string length.
Example
defines module qa.stringops.caseconversion defines program StringCaseDemo() stdout <- Stdout() mixed <- "Hello World" // === UPPERCASE === upper <- mixed.upperCase() stdout.println(`Upper: ${upper}`) // === LOWERCASE === lower <- mixed.lowerCase() stdout.println(`Lower: ${lower}`) // Original unchanged stdout.println(`Original: ${mixed}`) // === CASE-INSENSITIVE COMPARISON === input <- "YES" if input.lowerCase() == "yes" stdout.println("Confirmed (case-insensitive)") userInput <- "hello" if userInput.upperCase() == "HELLO" stdout.println("Match (case-insensitive)") // === PRACTICAL: NORMALIZE BEFORE LOOKUP === config <- {"debug": "true", "verbose": "false"} key <- "DEBUG" normalized <- config.getOrDefault(key.lowerCase(), "false") stdout.println(`Config ${key}: ${normalized}`)
Common mistakes
E50060 — String has no toUpperCase() method. The correct method name in EK9 is upperCase(). See ek9 -h E50060 for details.
Incorrect:
upper <- mixed.toUpperCase()
Correct:
upper <- mixed.upperCase()
E11068 — Concatenating 3 or more string parts with + triggers E11068. Use backtick interpolation instead. See ek9 -h E11068 for details.
Incorrect:
stdout.println("Config " + key + ": " + normalized)
Correct:
stdout.println(`Config ${key}: ${normalized}`)
E50060 — String has no toUpper() method. The correct EK9 method is upperCase(). Use 'ek9 -h String' to see the full API. See ek9 -h E50060 for details.
Incorrect:
upper <- mixed.toUpper()
Correct:
upper <- mixed.upperCase()
Other ways to ask this
- What is the EK9 equivalent of toUpperCase()?
- How do I change string case in EK9?
- How do I make a string all caps or all lowercase in EK9?
Coming from another language?
Java: str.toUpperCase(), str.toLowerCase(). Python: str.upper(), str.lower(). Rust: str.to_uppercase(), str.to_lowercase(). Go: strings.ToUpper(), strings.ToLower(). JavaScript: str.toUpperCase(), str.toLowerCase(). Kotlin: str.uppercase(), str.lowercase(). EK9: str.upperCase(), str.lowerCase().
Keywords: upper, convert, toUpperCase, toLowerCase, lowercase, uppercase, string, text, lower, case