Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


String Functions

These are built-in functions available on the String namespace.

concat

Returns a string value that is the concatenated result of two or more arguments passed to the function. Null values are treated as empty strings.


Code Block
string s = String:concat("abc","def");


split

Returns an array of string values that represent the tokens from the value expression that are separated by the separator expression.

Note that in order to split a special character such as '|', one needs to escape the string with a '\' character.  The '\' may need to be escaped as well, so in this case one will end up with String:split(someText, "\\|").

 

Code Block
string[] result = String:split("abc def", " ");
string first = result.get(0); //first = "abc"
string second = result.get(1); //second = "def"

 

length

Returns the length of the string argument.

Code Block
int i = String:length("Hello world");


substring

Substring of a string based on index positions.

Code Block
string s = String:substring("Hello World", 1, 4); //s = "ello"

 

lower

Convert string to lowercase.

Code Block
string s = String:lower("Hello World"); //s = "hello world"


upper

Convert string to uppercase.

Code Block
string s = String:upper("Hello World"); //s = "HELLO WORLD"

 

startsWith

Check if the beginning part of a string matches another string.

Code Block
bool b = String:startsWith("Hello World", "Hello"); //b = true


endsWith

Check if the ending part of a string matches another string.

Code Block
bool b = String:endsWith("Hello World", "World"); //b = true

 

indexOf

Returns the index within this string of the first occurrence of the specified substring.

Code Block
int i = String:indexOf("Hello World", "llo W"); //i = 2

Note that if a string If the second string argument cannot be found within the source stringfirst, a value of null is returned.


join

Joins a collection of strings into one result string with the specified join character.

Code Block
string[] strings;
strings.append("abc");
strings.append("def");
string s = String:join(strings, " "); //s = "abc def"


translate

Fetches the translation from the lang file using the argument as key.

Code Block
languagetext
titleen.lang
message.default_warning = You've been warned.


Code Block
string s = String:translate("message.default_warning"); //s = "You've been warned."


regexMatch

Compares a string with a regular expression and returns (boolean) true if it matches.

Code Block
languagejava
if (String:regexMatch("27000111abc","^27[0-9]{9,}$") == false) {
	Mez:alertError("alert.invalid.phonenum");
}

The behaviour of the regexMatch in Helium is consistent with that of the java.util.regex implementation, so it is advised to consult the java.util.regex JavaDoc when troubleshooting. Take particular note of the following:
Backslashes within string literals in Java source code are interpreted as required by The Java™ Language Specification as either Unicode escapes (section 3.3) or other character escapes (section 3.10.6) It is therefore necessary to double backslashes in string literals that represent regular expressions to protect them from interpretation by the Java bytecode compiler. The string literal "\b", for example, matches a single backspace character when interpreted as a regular expression, while "\\b" matches a word boundary. The string literal "\(hello\)" is illegal and leads to a compile-time error; in order to match the string (hello) the string literal "\\(hello\\)" must be used.

This means, for example, that while online regex validators will accept a curly bracket escaped by a single backslash as valid, it need to be escaped with a double backslash in the DSL. For example:

Code Block
bool b = String:regexMatch("trying {out} regex", ".*\\{out\\}.*"); //true





Excerpt
hiddentrue

concat, split, length, translate, etc.