Skip to main content

Zymba Documentation

String

object @String() {
byteAt(string $string, int $offset): string {}
byteCodeAt(string $string, int $offset): int {}
byteIndexOf(string $string, string $substring): int {}
capitalize(string $string): string {}
capitalizeWords(string $string): string {}
charAt(string $string, int $offset): string {}
charCodeAt(string $string, int $offset): int {}
chop(string $string, int $length, string $delimiter): string {}
chopOnBytes(string $string, int $length, string $delimiter): string {}
compare(string $string1, string $string2): int {}
compareNatural(string $string1, string $string2): int {}
concat(...$strings): string {}
contains(string $string, string $substring): bool {}
containsInsensitive(string $string, string $substring): bool {}
convert(string $string, string $from, string $to): string {}
countBytes(string $string): int {}
countChars(string $string): int {}
countDistinctBytes(string $string): int {}
countDistinctChars(string $string): int {}
countSubstring(string $string, string $substring): int {}
countUsedBytes(string $string): object {}
countUsedChars(string $string): object {}
crc32(string $string): int {}
distanceBetween(string $string1, string $string2): int {}
endsWith(string $string, string $substring): bool {}
endsWithInsensitive(string $string, string $substring): bool {}
equals(string $string1, string $string2): bool {}
equalsInsensitive(string $string1, string $string2): bool {}
foldCase(string $string): string {}
format(string $string, ...$arguments): string {}
fromByteCodes(object $codes): string {}
fromCharCodes(object $codes): string {}
fromHex(string $string): string {}
fromLatin1(string $string): string {}
hasByteIndex(string $string, int $index): bool {}
hasIndex(string $string, int $index): bool {}
head(string $string): string {}
headOnBytes(string $string): string {}
indexOf(string $string, string $substring): int {}
indexOfInsensitive(string $string, string $substring): int {}
insert(string $string, string $substring, int $offset): string {}
insertOnBytes(string $string, string $substring, int $offset): string {}
isBinaryDigits(string $string): bool {}
isDecimalDigits(string $string): bool {}
isEmpty(string $string): bool {}
isHexDigits(string $string): bool {}
isMarkedUTF8(string $string): bool {}
isOctalDigits(string $string): bool {}
isPrintable(string $string): bool {}
isSingleByte(string $string): bool {}
isSingleChar(string $string): bool {}
isValidASCII(string $string): bool {}
isValidUTF8(string $string): bool {}
isWhiteSpace(string $string): bool {}
lastByteIndexOf(string $string, string $substring): int {}
lastIndexOf(string $string, string $substring): int {}
lastIndexOfInsensitive(string $string, string $substring): int {}
metaphone(string $string): string {}
normalizeLineBreaks(string $string): string {}
normalizeWhiteSpace(string $string): string {}
pad(string $string, int $length, string $padding): string {}
padOnBytes(string $string, int $length, string $padding): string {}
partition(string $string, int $length): object {}
partitionOnBytes(string $string, int $length): object {}
quote(string $string, string $delimiter): string {}
repeat(string $string, int $count): string {}
replace(string $string, string $substring, string $replacement, int $limit): string {}
replaceMultiple(string $string, object $replacements): string {}
reverse(string $string): string {}
reverseOnBytes(string $string): string {}
scrub(string $string): string {}
slice(string $string, int $offset, ?int $length): string {}
sliceOnBytes(string $string, int $offset, ?int $length): string {}
soundex(string $string): string {}
splice(string $string, int $offset, ?int $length, string $replacement): string {}
spliceOnBytes(string $string, int $offset, ?int $length, string $replacement): string {}
split(string $string, string $delimiter, int $limit): object {}
splitNonEmpty(string $string, string $delimiter, int $limit): object {}
startsWith(string $string, string $substring): bool {}
startsWithInsensitive(string $string, string $substring): bool {}
tail(string $string): string {}
tailOnBytes(string $string): string {}
toByteCodes(string $string): object {}
toCharCodes(string $string): object {}
toHex(string $string): string {}
toLatin1(string $string): string {}
toLower(string $string): string {}
toLowerASCII(string $string): string {}
toUpper(string $string): string {}
toUpperASCII(string $string): string {}
trim(string $string): string {}
trimLeft(string $string): string {}
trimRight(string $string): string {}
truncate(string $string, int $offset, int $length, string $marker): string {}
unescapeC(string $string): string {}
}

Static string related functions.

Functions

Returns the byte at a specific byte-based offset within a string.

@String.byteAt(string $string, int $offset): string
Parameters
NameTypeValueDefault
stringstring""
offsetint0
Returns
TypeValue
string
null

Returns the US-ASCII code of the byte at a specific byte-based offset within a string.

@String.byteCodeAt(string $string, int $offset): int
Parameters
NameTypeValueDefault
stringstring""
offsetint0
Returns
TypeValue
int
null

Returns the byte-based index of the first occurrence of a specific substring within a string.

@String.byteIndexOf(string $string, string $substring): int
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
int
null

Capitalizes the first character within a string.

@String.capitalize(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Capitalizes every word within a string.

@String.capitalizeWords(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Returns the character at a specific character-based offset within a string.

@String.charAt(string $string, int $offset): string
Parameters
NameTypeValueDefault
stringstring""
offsetint0
Returns
TypeValue
string
null

Returns the UTF-8 code of the character at a specific character-based offset within a string.

@String.charCodeAt(string $string, int $offset): int
Parameters
NameTypeValueDefault
stringstring""
offsetint0
Returns
TypeValue
int
null

Chops a string into substrings of a specific character-based length, rejoined with a specific delimiter.

@String.chop(string $string, int $length, string $delimiter): string
Parameters
NameTypeValueDefault
stringstring""
lengthint76
delimiterstring"\r\n"
Returns
TypeValue
string

Chops a string into substrings of a specific byte-based length, rejoined with a specific delimiter.

@String.chopOnBytes(string $string, int $length, string $delimiter): string
Parameters
NameTypeValueDefault
stringstring""
lengthint76
delimiterstring"\r\n"
Returns
TypeValue
string

Compares two strings in a lexicographic manner.

@String.compare(string $string1, string $string2): int
Parameters
NameTypeValueDefault
string1string""
string2string""
Returns
TypeValue
int+1
int-1
int0

Compares two strings in a natural and case-insensitive manner (US-ASCII only).

@String.compareNatural(string $string1, string $string2): int
Parameters
NameTypeValueDefault
string1string""
string2string""
Returns
TypeValue
int+1
int-1
int0

Concatenates specific strings and returns the combined end-to-end string.

@String.concat(variadic $strings): string
Parameters
NameTypeValueDefault
stringsvariadic...
Returns
TypeValue
string

Determines whether a string contains a specific substring.

@String.contains(string $string, string $substring): bool
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
bool

Determines whether a string contains a specific substring in a case-insensitive manner (UTF-8).

@String.containsInsensitive(string $string, string $substring): bool
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
bool

Converts the character encoding of a string from one character set into another.

@String.convert(string $string, string $from, string $to): string
Parameters
NameTypeValueDefault
stringstring""
fromstring"UTF-8"
tostring"UTF-8"
Returns
TypeValue
string

Counts the total number of bytes within a string.

@String.countBytes(string $string): int
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
int

Counts the total number of characters within a string.

@String.countChars(string $string): int
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
int

Counts the total number of distinct bytes within a string.

@String.countDistinctBytes(string $string): int
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
int

Counts the total number of distinct characters within a string.

@String.countDistinctChars(string $string): int
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
int

Counts the total number of occurrences of a specific substring within a string.

@String.countSubstring(string $string, string $substring): int
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
int

Counts the total number of occurrences for each byte within a string.

@String.countUsedBytes(string $string): object
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
object[unique-byte: count, ...]

Counts the total number of occurrences for each character within a string.

@String.countUsedChars(string $string): object
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
object[unique-character: count, ...]

Generates the 32-bit cyclic redundancy checksum polynomial of a string as a signed integer.

@String.crc32(string $string): int
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
int

Measures the Levenshtein distance between two strings.

@String.distanceBetween(string $string1, string $string2): int
Parameters
NameTypeValueDefault
string1string""
string2string""
Returns
TypeValue
int

Determines whether a string ends with a specific substring.

@String.endsWith(string $string, string $substring): bool
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
bool

Determines whether a string ends with a specific substring in a case-insensitive manner (UTF-8).

@String.endsWithInsensitive(string $string, string $substring): bool
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
bool

Determines whether two strings are equal.

@String.equals(string $string1, string $string2): bool
Parameters
NameTypeValueDefault
string1string""
string2string""
Returns
TypeValue
bool

Determines whether two strings are equal in a case-insensitive manner (UTF-8).

@String.equalsInsensitive(string $string1, string $string2): bool
Parameters
NameTypeValueDefault
string1string""
string2string""
Returns
TypeValue
bool

Converts a string according to length-preserving case-folding rules (UTF-8).

@String.foldCase(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Returns a formatted string with "printf"-compatible format specifiers ("%...") substituted with variadic arguments.

@String.format(string $string, variadic $arguments): string
Parameters
NameTypeValueDefault
stringstring""
argumentsvariadic...
Returns
TypeValue
string

Returns the string corresponding to an US-ASCII code sequence.

@String.fromByteCodes(object $codes): string
Parameters
NameTypeValueDefault
codesobject[code, ...][]
Returns
TypeValue
string

Returns the string corresponding to an UTF-8 code sequence.

@String.fromCharCodes(object $codes): string
Parameters
NameTypeValueDefault
codesobject[code, ...][]
Returns
TypeValue
string
@String.fromHex(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Converts the character encoding of a string from single-byte ISO-8859-1 into multi-byte UTF-8.

@String.fromLatin1(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Determines whether a string has a specific byte-based index.

@String.hasByteIndex(string $string, int $index): bool
Parameters
NameTypeValueDefault
stringstring""
indexint0
Returns
TypeValue
bool

Determines whether a string has a specific character-based index.

@String.hasIndex(string $string, int $index): bool
Parameters
NameTypeValueDefault
stringstring""
indexint0
Returns
TypeValue
bool

Returns the character-based head of a string, meaning only the first character.

@String.head(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Returns the byte-based head of a string, meaning only the first byte.

@String.headOnBytes(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Returns the character-based index of the first occurrence of a specific substring within a string.

@String.indexOf(string $string, string $substring): int
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
int
null

Returns the character-based index of the first occurrence of a specific substring within a string, searching in a case-insensitive manner (UTF-8).

@String.indexOfInsensitive(string $string, string $substring): int
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
int
null

Inserts a specific substring into a string at a specific character-based offset.

@String.insert(string $string, string $substring, int $offset): string
Parameters
NameTypeValueDefault
stringstring""
substringstring""
offsetint0
Returns
TypeValue
string

Inserts a specific substring into a string at a specific byte-based offset.

@String.insertOnBytes(string $string, string $substring, int $offset): string
Parameters
NameTypeValueDefault
stringstring""
substringstring""
offsetint0
Returns
TypeValue
string

Determines whether a string consists only of characters representing binary digits.

@String.isBinaryDigits(string $string): bool
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
bool

Determines whether a string consists only of characters representing decimal digits.

@String.isDecimalDigits(string $string): bool
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
bool

Determines whether a string is empty, meaning it does not contain any bytes or characters.

@String.isEmpty(string $string): bool
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
bool

Determines whether a string consists only of characters representing hexadecimal digits.

@String.isHexDigits(string $string): bool
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
bool

Determines whether a string has an UTF-8 byte order mark (BOM).

@String.isMarkedUTF8(string $string): bool
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
bool

Determines whether a string consists only of characters representing octal digits.

@String.isOctalDigits(string $string): bool
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
bool

Determines whether a string represents a valid sequence of printable US-ASCII characters.

@String.isPrintable(string $string): bool
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
bool

Determines whether a string consists only of a single byte.

@String.isSingleByte(string $string): bool
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
bool

Determines whether a string consists only of a single character.

@String.isSingleChar(string $string): bool
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
bool

Determines whether a string represents a valid sequence of US-ASCII characters.

@String.isValidASCII(string $string): bool
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
bool

Determines whether a string represents a valid sequence of UTF-8 characters.

@String.isValidUTF8(string $string): bool
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
bool

Determines whether a string consists only of US-ASCII white space characters.

@String.isWhiteSpace(string $string): bool
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
bool

Returns the byte-based index of the last occurrence of a specific substring within a string.

@String.lastByteIndexOf(string $string, string $substring): int
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
int
null

Returns the character-based index of the last occurrence of a specific substring within a string.

@String.lastIndexOf(string $string, string $substring): int
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
int
null

Returns the character-based index of the last occurrence of a specific substring within a string, searching in a case-insensitive manner (UTF-8).

@String.lastIndexOfInsensitive(string $string, string $substring): int
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
int
null

Generates the metaphone key of a string.

@String.metaphone(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Normalizes line breaks by replacing all end-of-line markers (carriage return and/or line feed) with single line feeds.

@String.normalizeLineBreaks(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Normalizes white space by replacing all consecutive sequences of US-ASCII white space characters with single blank spaces.

@String.normalizeWhiteSpace(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Pads a string to a specific character-based length by repeatedly filling it with a specific padding string.

@String.pad(string $string, int $length, string $padding): string
Parameters
NameTypeValueDefault
stringstring""
lengthint0
paddingstring" "
Returns
TypeValue
string

Pads a string to a specific byte-based length by repeatedly filling it with a specific padding string.

@String.padOnBytes(string $string, int $length, string $padding): string
Parameters
NameTypeValueDefault
stringstring""
lengthint0
paddingstring" "
Returns
TypeValue
string

Partitions a string into isolated substrings of a specific character-based length.

@String.partition(string $string, int $length): object
Parameters
NameTypeValueDefault
stringstring""
lengthint1
Returns
TypeValue
object[substring, ...]

Partitions a string into isolated substrings of a specific byte-based length.

@String.partitionOnBytes(string $string, int $length): object
Parameters
NameTypeValueDefault
stringstring""
lengthint1
Returns
TypeValue
object[substring, ...]

Quotes a string by wrapping it with a specific delimiter.

@String.quote(string $string, string $delimiter): string
Parameters
NameTypeValueDefault
stringstring""
delimiterstring"'"
Returns
TypeValue
string

Repeatedly concatenates a specific string to itself and returns the aligned end-to-end string.

@String.repeat(string $string, int $count): string
Parameters
NameTypeValueDefault
stringstring""
countint1
Returns
TypeValue
string

Replaces all occurrences of a specific substring within a string with a specific replacement.

@String.replace(string $string, string $substring, string $replacement, int $limit): string
Parameters
NameTypeValueDefault
stringstring""
substringstring""
replacementstring""
limitint0
Returns
TypeValue
string
@String.replaceMultiple(string $string, object $replacements): string
Parameters
NameTypeValueDefault
stringstring""
replacementsobject[substring: replacement, ...][]
Returns
TypeValue
string

Reverses the sequence of characters within a string.

@String.reverse(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Reverses the sequence of bytes within a string.

@String.reverseOnBytes(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Scrub ill-formed UTF-8 characters from a string by replacing those with placeholder question marks ("?").

@String.scrub(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Slices a string by retrieving a specific character-based portion.

@String.slice(string $string, int $offset, ?int $length): string
Parameters
NameTypeValueDefault
stringstring""
offsetint0
length?intmaximum length
Returns
TypeValue
string

Slices a string by retrieving a specific byte-based portion.

@String.sliceOnBytes(string $string, int $offset, ?int $length): string
Parameters
NameTypeValueDefault
stringstring""
offsetint0
length?intmaximum length
Returns
TypeValue
string

Generates the 4-character soundex key of a string.

@String.soundex(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Extracts a specific character-based portion of a string and replaces it with a specific replacement string.

@String.splice(string $string, int $offset, ?int $length, string $replacement): string
Parameters
NameTypeValueDefault
stringstring""
offsetint0
length?intmaximum length
replacementstring""
Returns
TypeValue
string

Extracts a specific byte-based portion of a string and replaces it with a specific replacement string.

@String.spliceOnBytes(string $string, int $offset, ?int $length, string $replacement): string
Parameters
NameTypeValueDefault
stringstring""
offsetint0
length?intmaximum length
replacementstring""
Returns
TypeValue
string

Splits a string into isolated substrings on boundaries formed by a specific delimiter, whereas empty substrings are retained.

@String.split(string $string, string $delimiter, int $limit): object
Parameters
NameTypeValueDefault
stringstring""
delimiterstring" "
limitint0
Returns
TypeValue
object[substring, ...]

Splits a string into isolated substrings on boundaries formed by a specific delimiter, whereas empty substrings are discarded.

@String.splitNonEmpty(string $string, string $delimiter, int $limit): object
Parameters
NameTypeValueDefault
stringstring""
delimiterstring" "
limitint0
Returns
TypeValue
object[substring, ...]

Determines whether a string starts with a specific substring.

@String.startsWith(string $string, string $substring): bool
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
bool

Determines whether a string starts with a specific substring in a case-insensitive manner (UTF-8).

@String.startsWithInsensitive(string $string, string $substring): bool
Parameters
NameTypeValueDefault
stringstring""
substringstring""
Returns
TypeValue
bool

Returns the character-based tail of a string, meaning all characters except the first.

@String.tail(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Returns the byte-based tail of a string, meaning all bytes except the first.

@String.tailOnBytes(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Returns the US-ASCII code sequence of all bytes within a string.

@String.toByteCodes(string $string): object
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
object[code, ...]

Returns the UTF-8 code sequence of all characters within a string.

@String.toCharCodes(string $string): object
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
object[code, ...]
@String.toHex(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Converts the character encoding of a string from multi-byte UTF-8 to single-byte ISO-8859-1.

@String.toLatin1(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Converts a string to lower case (UTF-8).

@String.toLower(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Converts a string to lower case (US-ASCII only).

@String.toLowerASCII(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Converts a string to upper case (UTF-8).

@String.toUpper(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Converts a string to upper case (US-ASCII only).

@String.toUpperASCII(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Trims a string by stripping all US-ASCII white space characters from its beginning and end.

@String.trim(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Trims a string left-sidedly by stripping all US-ASCII white space characters from its beginning.

@String.trimLeft(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Trims a string right-sidedly by stripping all US-ASCII white space characters from its end.

@String.trimRight(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string

Truncates a string to a specific byte-based length, where half-width characters count as 1, and full-width characters count as 2.

@String.truncate(string $string, int $offset, int $length, string $marker): string
Parameters
NameTypeValueDefault
stringstring""
offsetint0
lengthint255
markerstring""
Returns
TypeValue
string

Resolve all C-style escape sequences in a string.

@String.unescapeC(string $string): string
Parameters
NameTypeValueDefault
stringstring""
Returns
TypeValue
string