# 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 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; } ``` ### `Format` Creates a string using a format string and any amount of arguments. ### `AppendFormat` Works like `Format`, but appends the result to the string. ### `CharAt` Returns the character at `pos` as a new string. ### `CharCodeAt` Returns the character at `pos` as an integer. ### `Filter` Replaces escape sequences in a string with escaped characters as a new string. ### `IndexOf` Returns the first index of `substr` starting from the left at `start`. ### `Left` Returns the first `len` characters as a new string. ### `Length` Returns the number of characters in this string. ### `Mid` Returns `len` characters starting at `pos` as a new string. ### `Remove` Removes `amount` characters starting at `index` in place. ### `Replace` Replaces all instances of `pattern` with `replacement` in place. ### `RightIndexOf` Returns the first index of `substr` starting from the right at `end`. ### `Split` 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. ### `ToDouble` Interprets the string as a double precision floating point number. ### `ToInt` Interprets the string as a base `base` integer, guessing the base if it is `0`. ### `ToLower` Converts all characters in the string to lowercase in place. ### `ToUpper` Converts all characters in the string to uppercase in place. ### `Truncate` Truncates the string to `len` characters in place. ### `LastIndexOf` Broken. Use `RightIndexOf` instead.