String ====== String related methods ------------ String.Len ~~~~~~~~~~~~~~~ .. code-block:: pascal function String.Len(): Int32; constref; Returns the length of the string ------------ String.Pos ~~~~~~~~~~~~~~~ .. code-block:: pascal function String.Pos(SubStr: String): Int32; constref; Returns the position of the position of the first occurance of the substring ------------ String.PosR ~~~~~~~~~~~~~~~ .. code-block:: pascal function String.PosR(SubStr: String): Int32; constref; Returns the position of the position of the last occurance of the substring ------------ String.PosEx ~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.PosEx(SubStr: String): TIntegerArray; constref; Returns the position of every occurance of the substring ------------ String.Startswith ~~~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.Startswith(Prefix: String): Boolean; constref; Returns ``True`` if the string starts with the given string ``Prefix`` ------------ String.Endswith ~~~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.Endswith(Suffix: String): Boolean; constref; Returns ``True`` if the string ends with the given string ``Suffix`` ------------ String.Capitalize ~~~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.Capitalize(): String; constref; Returns the string with every word captalized ------------ String.Upper ~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.Upper(): String; constref; Returns the string with every character converted to uppercase ------------ String.Lower ~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.Lower(): String; constref; Returns the string with every character converted to lowercase ------------ String.After ~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.After(SubStr: String): String; constref; Copy the string from after the first occurrence of SubStr ------------ String.Before ~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.Before(SubStr: String): String; constref; Copy the string from before the first occurrence of SubStr ------------ String.Count ~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.Count(Str: String): Int32; constref; Count the number of occurrences of the given string. ------------ String.Replace ~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.Replace(SubStr, ReplaceStr: String; Flags: TReplaceFlags=[rfReplaceAll]): String; constref; Replace [all by default] occurrences of the given SubStr with with ReplaceStr ------------ String.Explode ~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.Explode(Delimiter: String): TStringArray; constref; Blow up the string at each delimiter into smaller strings ------------ String.IsAlphaNum ~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.IsAlphaNum(): Boolean; constref; Test if a string only contains alpha numerical characters. ------------ String.IsDigit ~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.IsDigit(): Boolean; constref; Test if a sting is a digit ------------ String.IsFloat ~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.IsFloat(): Boolean; constref; Test if a string is a floating point number ------------ String.IsAlpha ~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.IsAlpha(): Boolean; constref; Test if a string only contains letters a-zA-Z ------------ String.ExtractNumbers ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.ExtractNumbers(): TExtendedArray; constref; Extract all the numbers found in the string, as there could be floating point numbers as well it reutnrs a TExtendedArray. ------------ String.ExtractNumbersEx ~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.ExtractNumbersEx(): TExtendedArray; constref; Extract all the numbers found in the string, this time every number ends up in each their index. For example ``'1234'`` would return ``[1,2,3,4]`` ------------ String.FileExt ~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.FileExt(): String; constref; Returns the file extension ------------ String.FileName ~~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal function String.FileName(): String; constref; Returns the file name ------------ string * int32 ~~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal operator * (left:String; Right:Int32): String; Replicates the string the given amount of times. So ``'ho!' * 3`` would generate ``ho!ho!ho!`` ------------ string in string ~~~~~~~~~~~~~~~~~~~~ .. code-block:: pascal operator in (left:String; Right:String): Boolean; Returns ``True`` if the string exists in the other string. So ``'hell' in 'hello world'`` would be ``True`` ------------