String Functions
at
str.at(index?: int = 0): strReturns the character at the given index.
- When the index is out of bounds, it will return
niltype, which will be converted to an empty string when rendered in the template - When the index is negative, it will count from the end of the string. For example,
-1will return the last character of the string
Arguments:
index(int) - The index of the character to return. Default is0, which returns the first character of the string
Input Example:
{{ "Textwire".at(1) }}Output:
ecapitalize
str.capitalize(): strCapitalizes the first letter of a string
Input Example:
{{ "hello, world!".capitalize() }}Output:
Hello, world!contains
str.contains(substr: str): boolReturns true if the string contains the given substring, otherwise false. The function is case-sensitive, so the substring must match the case of the string
Arguments:
substr(str) - The substring to search for
Input Example:
{{ "Hello, World!".contains("World") }}Output:
trueEmpty Substring
If the substr argument is an empty string, the function will always return true. It's done this way because an empty string is always a substring of any string
Ignore Case
If you want to search for a substring without considering the case, you can use the lower function to convert both the string and the substring to lowercase:
{{ "Hello, World!".lower().contains("world") }} <!-- true -->decimal
str.decimal(separator?: str = ".", decimals?: int = 2): strConverts to a string with a decimal part by appending a decimal separator and the number of decimal places. Here are some rules:
- When the string is not a number, it will return the string as is
- When the string is already a decimal number, it will return the string as is
- When you use it on a string, it will return the string as is if it's not a number
Arguments:
separator(str) (optional) - The separator to use for the decimal. Default is"."decimals(int) (optional) - The number of decimal places to add to the number. Default is2
Input Example:
{{ "123".decimal() }}Output:
123.00first
str.first(): strReturns the first character of a string. When the string is empty, it will return nil type, which will be converted to an empty string when rendered in the template
Input Example:
{{ "Textwire".first() }}Output:
Tlast
str.last(): strReturns the last character of a string. When the string is empty, it will return nil type, which will be converted to an empty string when rendered in the template
Input Example:
{{ "Textwire".last() }}Output:
elen
str.len(): intReturns the length of the string
Input Example:
{{ "Hello, World!".len() }}Output:
13lower
str.lower(): strConverts a string to lowercase
Input Example:
{{ "Hello, World!".lower() }}Output:
hello, world!raw
str.raw(): strFunction raw is used to render a string as raw HTML. This is useful when you want to render HTML tags from a string. By default, HTML tags in a string are escaped to prevent XSS attacks
Input Example:
{{ "<h1>Test</h1>".raw() }}Output:
<h1>Test</h1>repeat
str.repeat(times: int): strReturns a new string consisting of count copies of the string on which it was called
Arguments:
times(int) - The number of times to repeat the string
Input Example:
{{ "Hello".repeat(3) }}Output:
HelloHelloHelloreverse
str.reverse(): strReturns a string with the characters reversed
Input Example:
{{ "stressed".reverse() }}Output:
dessertssplit
str.split(separator?: str = " "): arrFunction split is used to split a string into an array of substrings. It takes an optional argument separator which is used to split the string. If no separator is provided, it defaults to a space
Arguments:
separator(str) (optional) - What separator to use to split the string. Default is" "(space)
Input Example:
<div>{{ "one two".split(" ") }}</div>Output:
<div>one, two</div>trim
str.trim(chars?: str = "\t \n\r"): strTrims a string from spaces and special characters like tabs, spaces and new lines by default. You can pass an argument to trim a specific set of characters from a string
Arguments:
chars(str) (optional) - A string of characters to trim from a string. Default is"\t \n\r"
Input Example:
<span>{{ " Textwire ".trim() }}</span>Output:
<span>Textwire</span>trimLeft
str.trimLeft(chars?: str = "\t \n\r"): strTrims left side of a string from spaces and special characters like tabs, spaces and new lines by default. You can pass an argument to trim a specific set of characters from a string
Arguments:
chars(str) (optional) - A string of characters to trim from a string. Default is"\t \n\r"
Input Example:
<span>{{ " Textwire".trimLeft() }}</span>Output:
<span>Textwire</span>trimRight
str.trimRight(chars?: str = "\t \n\r"): strTrims right side of a string from spaces and special characters like tabs, spaces and new lines by default. You can pass an argument to trim a specific set of characters from a string
Arguments:
chars(str) (optional) - A string of characters to trim from a string. Default is"\t \n\r"
Input Example:
<span>{{ "Textwire ".trimRight() }}</span>Output:
<span>Textwire</span>truncate
str.truncate(length: int, ellipsis: str = "..."): strReturns a string truncated to the given length with an optional ellipsis at the end
Arguments:
length(int) - The length to truncate the string toellipsis(str) (optional) - The ellipsis to append to the truncated string. Default is"..."
Input Example:
{{ "Hello, World!".truncate(5) }}Output:
Hello...upper
str.upper(): strConverts a string to uppercase
Input Example:
{{ "Hello, World!".upper() }}Output:
HELLO, WORLD!