Provided by: erlang-manpages_16.b.3-dfsg-1ubuntu2.2_all bug

NAME

       string - String Processing Functions

DESCRIPTION

       This module contains functions for string processing.

EXPORTS

       len(String) -> Length

              Types:

                 String = string()
                 Length = integer() >= 0

              Returns the number of characters in the string.

       equal(String1, String2) -> boolean()

              Types:

                 String1 = String2 = string()

              Tests whether two strings are equal. Returns true if they are, otherwise false.

       concat(String1, String2) -> String3

              Types:

                 String1 = String2 = String3 = string()

              Concatenates two strings to form a new string. Returns the new string.

       chr(String, Character) -> Index

       rchr(String, Character) -> Index

              Types:

                 String = string()
                 Character = char()
                 Index = integer() >= 0

              Returns  the  index  of  the  first/last  occurrence  of  Character in String. 0 is
              returned if Character does not occur.

       str(String, SubString) -> Index

       rstr(String, SubString) -> Index

              Types:

                 String = SubString = string()
                 Index = integer() >= 0

              Returns the position where the first/last occurrence of SubString begins in String.
              0 is returned if SubString does not exist in String. For example:

              > string:str(" Hello Hello World World ", "Hello World").
              8

       span(String, Chars) -> Length

       cspan(String, Chars) -> Length

              Types:

                 String = Chars = string()
                 Length = integer() >= 0

              Returns  the  length  of  the  maximum  initial  segment  of String, which consists
              entirely of characters from (not from) Chars.

              For example:

              > string:span("\t    abcdef", " \t").
              5
              > string:cspan("\t    abcdef", " \t").
              0

       substr(String, Start) -> SubString

       substr(String, Start, Length) -> SubString

              Types:

                 String = SubString = string()
                 Start = integer() >= 1
                 Length = integer() >= 0

              Returns a substring of String, starting at the position Start, and  ending  at  the
              end of the string or at length Length.

              For example:

              > substr("Hello World", 4, 5).
              "lo Wo"

       tokens(String, SeparatorList) -> Tokens

              Types:

                 String = SeparatorList = string()
                 Tokens = [Token :: nonempty_string()]

              Returns a list of tokens in String, separated by the characters in SeparatorList.

              For example:

              > tokens("abc defxxghix jkl", "x ").
              ["abc", "def", "ghi", "jkl"]

       join(StringList, Separator) -> String

              Types:

                 StringList = [string()]
                 Separator = String = string()

              Returns  a  string  with  the  elements  of  StringList  separated by the string in
              Separator.

              For example:

              > join(["one", "two", "three"], ", ").
              "one, two, three"

       chars(Character, Number) -> String

       chars(Character, Number, Tail) -> String

              Types:

                 Character = char()
                 Number = integer() >= 0
                 Tail = String = string()

              Returns a string consisting of Number  of  characters  Character.  Optionally,  the
              string can end with the string Tail.

       copies(String, Number) -> Copies

              Types:

                 String = Copies = string()
                 Number = integer() >= 0

              Returns a string containing String repeated Number times.

       words(String) -> Count

       words(String, Character) -> Count

              Types:

                 String = string()
                 Character = char()
                 Count = integer() >= 1

              Returns the number of words in String, separated by blanks or Character.

              For example:

              > words(" Hello old boy!", $o).
              4

       sub_word(String, Number) -> Word

       sub_word(String, Number, Character) -> Word

              Types:

                 String = Word = string()
                 Number = integer()
                 Character = char()

              Returns  the  word  in  position Number of String. Words are separated by blanks or
              Characters.

              For example:

              > string:sub_word(" Hello old boy !",3,$o).
              "ld b"

       strip(String :: string()) -> string()

       strip(String, Direction) -> Stripped

       strip(String, Direction, Character) -> Stripped

              Types:

                 String = Stripped = string()
                 Direction = left | right | both
                 Character = char()

              Returns a string, where leading and/or trailing blanks or  a  number  of  Character
              have  been  removed. Direction can be left, right, or both and indicates from which
              direction blanks  are  to  be  removed.  The  function  strip/1  is  equivalent  to
              strip(String, both).

              For example:

              > string:strip("...Hello.....", both, $.).
              "Hello"

       left(String, Number) -> Left

       left(String, Number, Character) -> Left

              Types:

                 String = Left = string()
                 Number = integer() >= 0
                 Character = char()

              Returns  the  String  with  the length adjusted in accordance with Number. The left
              margin is fixed. If the length(String) < Number, String is padded  with  blanks  or
              Characters.

              For example:

              > string:left("Hello",10,$.).
              "Hello....."

       right(String, Number) -> Right

       right(String, Number, Character) -> Right

              Types:

                 String = Right = string()
                 Number = integer() >= 0
                 Character = char()

              Returns  the  String  with the length adjusted in accordance with Number. The right
              margin is fixed. If the length of (String) < Number, String is padded  with  blanks
              or Characters.

              For example:

              > string:right("Hello", 10, $.).
              ".....Hello"

       centre(String, Number) -> Centered

       centre(String, Number, Character) -> Centered

              Types:

                 String = Centered = string()
                 Number = integer() >= 0
                 Character = char()

              Returns a string, where String is centred in the string and surrounded by blanks or
              characters. The resulting string will have the length Number.

       sub_string(String, Start) -> SubString

       sub_string(String, Start, Stop) -> SubString

              Types:

                 String = SubString = string()
                 Start = Stop = integer() >= 1

              Returns a substring of String, starting at the position Start to  the  end  of  the
              string, or to and including the Stop position.

              For example:

              sub_string("Hello World", 4, 8).
              "lo Wo"

       to_float(String) -> {Float, Rest} | {error, Reason}

              Types:

                 String = string()
                 Float = float()
                 Rest = string()
                 Reason = no_float | not_a_list

              Argument  String  is  expected  to  start  with a valid text represented float (the
              digits being ASCII values). Remaining characters in the string after the float  are
              returned in Rest.

              Example:

                        > {F1,Fs} = string:to_float("1.0-1.0e-1"),
                        > {F2,[]} = string:to_float(Fs),
                        > F1+F2.
                        0.9
                        > string:to_float("3/2=1.5").
                        {error,no_float}
                        > string:to_float("-1.5eX").
                        {-1.5,"eX"}

       to_integer(String) -> {Int, Rest} | {error, Reason}

              Types:

                 String = string()
                 Int = integer()
                 Rest = string()
                 Reason = no_integer | not_a_list

              Argument  String  is  expected  to start with a valid text represented integer (the
              digits being ASCII values). Remaining characters in the string  after  the  integer
              are returned in Rest.

              Example:

                        > {I1,Is} = string:to_integer("33+22"),
                        > {I2,[]} = string:to_integer(Is),
                        > I1-I2.
                        11
                        > string:to_integer("0.5").
                        {0,".5"}
                        > string:to_integer("x=2").
                        {error,no_integer}

       to_lower(String) -> Result

       to_lower(Char) -> CharResult

       to_upper(String) -> Result

       to_upper(Char) -> CharResult

              Types:

                 String = Result = io_lib:latin1_string()
                 Char = CharResult = char()

              The  given string or character is case-converted. Note that the supported character
              set is ISO/IEC 8859-1 (a.k.a. Latin 1), all values outside this set is unchanged

NOTES

       Some of the general string functions may seem to overlap each other. The reason  for  this
       is  that  this  string  package  is  the  combination  of two earlier packages and all the
       functions of both packages have been retained.

   Note:
       Any undocumented functions in string should not be used.