Module

Data.String

Package
purescript-strings
Repository
purescript/purescript-strings

Wraps the functions of Javascript's String object. A String represents a sequence of characters. For details of the underlying implementation, see String Reference at MDN.

#Pattern Source

newtype Pattern

A newtype used in cases where there is a string to be matched.

Constructors

Instances

#Replacement Source

newtype Replacement

A newtype used in cases to specify a replacement for a pattern.

Constructors

Instances

#charAt Source

charAt :: Int -> String -> Maybe Char

Returns the character at the given index, if the index is within bounds.

#singleton Source

singleton :: Char -> String

Returns a string of length 1 containing the given character.

#charCodeAt Source

charCodeAt :: Int -> String -> Maybe Int

Returns the numeric Unicode value of the character at the given index, if the index is within bounds.

#null Source

null :: String -> Boolean

Returns true if the given string is empty.

#uncons Source

uncons :: String -> Maybe { head :: Char, tail :: String }

Returns the first character and the rest of the string, if the string is not empty.

#takeWhile Source

takeWhile :: (Char -> Boolean) -> String -> String

Returns the longest prefix (possibly empty) of characters that satisfy the predicate.

#dropWhile Source

dropWhile :: (Char -> Boolean) -> String -> String

Returns the suffix remaining after takeWhile.

#stripPrefix Source

stripPrefix :: Pattern -> String -> Maybe String

If the string starts with the given prefix, return the portion of the string left after removing it, as a Just value. Otherwise, return Nothing.

  • stripPrefix (Pattern "http:") "http://purescript.org" == Just "//purescript.org"
  • stripPrefix (Pattern "http:") "https://purescript.org" == Nothing

#stripSuffix Source

stripSuffix :: Pattern -> String -> Maybe String

If the string ends with the given suffix, return the portion of the string left after removing it, as a Just value. Otherwise, return Nothing.

  • stripSuffix (Pattern ".exe") "psc.exe" == Just "psc"
  • stripSuffix (Pattern ".exe") "psc" == Nothing

#fromCharArray Source

fromCharArray :: Array Char -> String

Converts an array of characters into a string.

#contains Source

contains :: Pattern -> String -> Boolean

Checks whether the first string exists in the second string.

#indexOf Source

indexOf :: Pattern -> String -> Maybe Int

Returns the index of the first occurrence of the first string in the second string. Returns Nothing if there is no match.

#indexOf' Source

indexOf' :: Pattern -> Int -> String -> Maybe Int

Returns the index of the first occurrence of the first string in the second string, starting at the given index. Returns Nothing if there is no match.

#lastIndexOf Source

lastIndexOf :: Pattern -> String -> Maybe Int

Returns the index of the last occurrence of the first string in the second string. Returns Nothing if there is no match.

#lastIndexOf' Source

lastIndexOf' :: Pattern -> Int -> String -> Maybe Int

Returns the index of the last occurrence of the first string in the second string, starting at the given index. Returns Nothing if there is no match.

#length Source

length :: String -> Int

Returns the number of characters the string is composed of.

#localeCompare Source

localeCompare :: String -> String -> Ordering

Locale-aware sort order comparison.

#replace Source

replace :: Pattern -> Replacement -> String -> String

Replaces the first occurence of the first argument with the second argument.

#replaceAll Source

replaceAll :: Pattern -> Replacement -> String -> String

Replaces all occurences of the first argument with the second argument.

#take Source

take :: Int -> String -> String

Returns the first n characters of the string.

#drop Source

drop :: Int -> String -> String

Returns the string without the first n characters.

#count Source

count :: (Char -> Boolean) -> String -> Int

Returns the number of contiguous characters at the beginning of the string for which the predicate holds.

#split Source

split :: Pattern -> String -> Array String

Returns the substrings of the second string separated along occurences of the first string.

  • split (Pattern " ") "hello world" == ["hello", "world"]

#splitAt Source

splitAt :: Int -> String -> Maybe { after :: String, before :: String }

Returns the substrings of split at the given index, if the index is within bounds.

#toCharArray Source

toCharArray :: String -> Array Char

Converts the string into an array of characters.

#toLower Source

toLower :: String -> String

Returns the argument converted to lowercase.

#toUpper Source

toUpper :: String -> String

Returns the argument converted to uppercase.

#trim Source

trim :: String -> String

Removes whitespace from the beginning and end of a string, including whitespace characters and line terminators.

#joinWith Source

joinWith :: String -> Array String -> String

Joins the strings in the array together, inserting the first argument as separator between them.