Files
cell/docs/library/text.md
2026-02-07 12:01:58 -06:00

2.5 KiB

title, description, weight, type
title description weight type
text String conversion and manipulation 10 docs

The text function and its methods handle string conversion and manipulation.

Conversion

text(array, separator)

Convert an array to text, joining elements with a separator (default: space).

text([1, 2, 3])           // "1 2 3"
text([1, 2, 3], ", ")     // "1, 2, 3"
text(["a", "b"], "-")     // "a-b"

text(number, radix)

Convert a number to text. Radix is 2-36 (default: 10).

text(255)        // "255"
text(255, 16)    // "ff"
text(255, 2)     // "11111111"

text(text, from, to)

Extract a substring from index from to to.

text("hello world", 0, 5)   // "hello"
text("hello world", 6)      // "world"

Methods

text.lower(text)

Convert to lowercase.

text.lower("HELLO")  // "hello"

text.upper(text)

Convert to uppercase.

text.upper("hello")  // "HELLO"

text.trim(text, reject)

Remove characters from both ends. Default removes whitespace.

text.trim("  hello  ")      // "hello"
text.trim("xxhelloxx", "x") // "hello"

text.search(text, target, from)

Find the position of target in text. Returns null if not found.

text.search("hello world", "world")     // 6
text.search("hello world", "xyz")       // null
text.search("hello hello", "hello", 1)  // 6

text.replace(text, target, replacement, cap)

Replace occurrences of target with replacement. If cap is not specified, replaces all occurrences.

text.replace("hello", "l", "L")      // "heLLo" (replaces all)
text.replace("hello", "l", "L", 1)   // "heLlo" (replaces first only)

// With function
text.replace("hello", "l", function(match, pos) {
  return pos == 2 ? "L" : match
})  // "heLLo" (replaces all by default)

text.format(text, collection, transformer)

Substitute {key} placeholders with values from a collection.

text.format("Hello, {name}!", {name: "World"})
// "Hello, World!"

text.format("{0} + {1} = {2}", [1, 2, 3])
// "1 + 2 = 3"

text.normalize(text)

Unicode normalize the text (NFC form).

text.normalize("cafe\u0301")  // normalized form

text.codepoint(text)

Get the Unicode codepoint of the first character.

text.codepoint("A")  // 65

text.extract(text, pattern, from, to)

Match a pattern and extract named groups.

text.extract("2024-01-15", /(\d+)-(\d+)-(\d+)/)
// Returns match info