string (native)

AngelScript's native string datatype was extended.

Declaration (WJ)

  • string str("%s", ...) -- Creates the string with formatting, vars go up to 15.

Example:

string a = "abc";
string b = "def";

string c("%s%s", a, b); // this will be 'abcdef' once constructed.

Printf("%s\n", c); // This will print 'abcdef' to the console.

Declaration (native)

  • string str(str2) -- Copies a string to be used for construction.

Methods (WJ)

  • void toLower() -- Turns all characters to lower.
  • void toUpper() -- Turns all characters to upper.
  • void toReverse() -- Reverses the casing of all the characters.
  • void format(string &in, ...) -- Formats the string, vars go up to 15.

Methods (native)

  • uint length() const -- Returns the length of the string.
  • void resize(uint) -- Sets the length of the string.
  • bool isEmpty() const -- Returns true if the string is empty, i.e. the length is zero.
  • string substr(uint start = 0, int count = -1) const -- Returns a string with the content starting at start and the number of bytes given by count. The default arguments will return the whole string as the new string.
  • void insert(uint pos, const string &in other) -- Inserts another string other at position pos in the original string.
  • void erase(uint pos, int count = -1) -- Erases a range of characters from the string, starting at position pos and counting count characters.
  • int findFirst(const string &in str, uint start = 0) const -- Find the first occurrence of the value str in the string, starting at start. If no occurrence is found a negative value will be returned.
  • int findLast(const string &in str, int start = -1) const -- Find the last occurrence of the value str in the string. If start is informed the search will begin at that position, i.e. any potential occurrence after that position will not be searched. If no occurrence is found a negative value will be returned.
  • int findFirstOf(const string &in chars, int start = 0) const
  • int findFirstNotOf(const string &in chars, int start = 0) const
  • int findLastOf(const string &in chars, int start = -1) const
  • int findLastNotOf(const string &in chars, int start = -1) const
    The first variant finds the first character in the string that matches on of the characters in chars, starting at start. If no occurrence is found a negative value will be returned.
    The second variant finds the first character that doesn't match any of those in chars. The third and last variant are the same except they start the search from the end of the string.

Functions (native)

  • array<string>@ split(const string &in delimiter) const -- Splits the string in smaller strings where the delimiter is found.
  • int64 parseInt(const string &in str, uint base = 10, uint &out byteCount = 0)
  • uint64 parseUInt(const string &in str, uint base = 10, uint &out byteCount = 0) -- Parses the string for an integer value. The base can be 10 or 16 to support decimal numbers or hexadecimal numbers. If byteCount is provided it will be set to the number of bytes that were considered as part of the integer value.

  • double parseFloat(const string &in, uint &out byteCount = 0) -- Parses the string for a floating point value. If byteCount is provided it will be set to the number of bytes that were considered as part of the value.

  • string formatInt(int64 val, const string &in options = '', uint width = 0)

  • string formatUInt(uint64 val, const string &in options = '', uint width = 0)
  • string formatFloat(double val, const string &in options = '', uint width = 0, uint precision = 0)
    The format functions takes a string that defines how the number should be formatted. The string is a combination of the following characters:
  • 'l' = left justify
  • '0' = pad with zeroes
  • '+' = always include the sign, even if positive
  • 'space' = add a space in case of positive number
  • 'h' = hexadecimal integer small letters (not valid for formatFloat)
  • 'H' = hexadecimal integer capital letters (not valid for formatFloat)
  • 'e' = exponent character with small e (only valid for formatFloat)
  • 'E' = exponent character with capital E (only valid for formatFloat)

Example:

// Left justify number in string with 10 characters
string justified = formatInt(number, 'l', 10);

// Create hexadecimal representation with capital letters, right justified
string hex = formatInt(number, 'H', 10);

// Right justified, padded with zeroes and two digits after decimal separator
string num = formatFloat(number, '0', 8, 2);