zscript-doc/api/base/String.md

112 lines
2.5 KiB
Markdown
Raw Normal View History

2018-12-29 16:05:19 -08:00
# String
Strings have many methods attached to them for manipulating text.
```
struct String
{
static vararg string Format(string format, ...);
vararg void AppendFormat(string format, ...);
string CharAt(int pos) const;
int CharCodeAt(int pos) const;
string Filter();
int IndexOf(string substr, int startIndex = 0) const;
string Left(int len) const;
uint Length() const;
string Mid(int pos = 0, int len = int.Max) const;
void Remove(int index, int amount);
void Replace(string pattern, string replacement);
int RightIndexOf(string substr, int endIndex = int.Max) const;
void Split(out array<string> tokens, string delimiter, EmptyTokenType keepEmpty = TOK_KEEPEMPTY) const;
double ToDouble() const;
int ToInt(int base = 0) const;
void ToLower();
void ToUpper();
void Truncate(int newlen);
deprecated("3.5.1") int LastIndexOf(string substr, int endIndex = int.Max) const;
}
```
2019-08-14 03:31:41 -07:00
### `Format`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Creates a string using a format string and any amount of arguments.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `AppendFormat`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Works like `Format`, but appends the result to the string.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `CharAt`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Returns the character at `pos` as a new string.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `CharCodeAt`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Returns the character at `pos` as an integer.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `Filter`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Replaces escape sequences in a string with escaped characters as a new string.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `IndexOf`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Returns the first index of `substr` starting from the left at `start`.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `Left`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Returns the first `len` characters as a new string.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `Length`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Returns the number of characters in this string.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `Mid`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Returns `len` characters starting at `pos` as a new string.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `Remove`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Removes `amount` characters starting at `index` in place.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `Replace`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Replaces all instances of `pattern` with `replacement` in place.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `RightIndexOf`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Returns the first index of `substr` starting from the right at `end`.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `Split`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Splits the string by each `delimiter` into `tokens`. `keepEmpty` may be either
`TOK_SKIPEMPTY` (the default) or `TOK_KEEPEMPTY`, which will keep or discard
empty strings found while splitting.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `ToDouble`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Interprets the string as a double precision floating point number.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `ToInt`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Interprets the string as a base `base` integer, guessing the base if it is `0`.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `ToLower`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Converts all characters in the string to lowercase in place.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `ToUpper`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Converts all characters in the string to uppercase in place.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `Truncate`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Truncates the string to `len` characters in place.
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
### `LastIndexOf`
2018-12-29 16:05:19 -08:00
2019-08-14 03:31:41 -07:00
Broken. Use `RightIndexOf` instead.
2018-12-29 16:05:19 -08:00
<!-- EOF -->