String methods

You can find more info about the particular regex syntax used in the *_regex methods on this link.

.to_uppercase()

Return the same string in all uppercase characters.

string.to_uppercase() => String

// example
do val = "Where is Brian?"
do val.to_uppercase() // "WHERE IS BRIAN?"

.to_lowercase()

Return the same string in all lowercase characters.

string.to_lowercase() => String

// example
do val = "Where is Brian?"
do val.to_lowercase() // "where is brian?"

.capitalize()

Return the same string with the first letter in uppercase. The rest of the string remains unchanged.

.trim(), .trim_left(), .trim_right()

Returns a new string with both leading and trailing whitespace removed. .trim_left() and .trim_right() only trim the leading and trainling whitespace respectively.

.length()

Return the length of the target string.

.contains(String), .contains_regex(String)

Return whether the string contains another string or expression.

.replace(), .replace_all(), .replace_regex()

Replace the first, all or any occurrence matching the predicate:

.starts_with(String), .starts_with_regex(String)

Return whether a string starts with another string or expression.

.ends_with(String), .ends_with_regex(String)

Return whether a string ends with another string or expression.

.match(String), .match_regex(String)

Return all the matches of the string or expression in the target string, or Null if none are found.

About _regex methods:

The \ (backslash) character has a special meaning. For technical reasons, in all strings, it must be properly escaped, by convention by adding another \ in front of itself, to avoid being interpreted as a special character. For example, if you mean to write the exact string "\n" you must in fact write \\n, otherwise \n will be interpreted as a line break.

This Python documentation explains why it especially matters in Regex syntax to escape backslashes: https://docs.python.org/2/howto/regex.html#the-backslash-plague

We follow this nomenclature for CSML Regex handling, so a single Regex backslash must be written as a "\\" string, and an escaped backslash (that behaves as a literal "\" string character) must in fact be escaped twice, once for being in a string, and once for being in a Regex: you have to write "\\\\" to result in the Regex syntax \\which in turn matches the literal "\" string.

In a future release of CSML we might introduce a "raw string" method to bypass this limitation.

.is_number(), .is_int(), .is_float()

Return whether the given string represents a numerical value, an int, a float.

.split(String)

Split a string by a given separator and return an array containing all elements in order. The separator can be a single or multiple characters. If the separator can not be found in the string, the returned array will only contain the original string.

.slice(start, end) => String

Cut a string between the start and end characters. Some rules apply:

  • If end is not specified, all the characters after start are returned.

  • When specified, end must be ≥ start.

  • If any of the parameters is < 0, the count is made from the end of the string.

.to_int(), .to_float() => Integer, Float

Convert a string representing a number to a value cast as an integer or float:

.to_yml(), .to_json()

Convert yaml to json and back

.encode_uri(), .encode_uri_component(), .decode_uri(), .decode_uri_component()

Encode and decode URI/URIComponent (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI#encodeuri_vs_encodeuricomponent)

.encode_html_entities(), .decode_html_entities()

Encode and decode HTML entities

Last updated

Was this helpful?