String
Edit on GitHubUtilities for working with strings.
Added in 0.2.0
version | changes |
---|---|
0.1.0 | Originally named `strings` |
0.2.0 | Renamed to `string` |
Types
Type declarations included in the String module.
String.Encoding
Byte encodings
Values
Functions and constants included in the String module.
String.concat
Added in 0.2.0
No other changes yet.
Concatenate two strings.
Parameters:
param | type | description |
---|---|---|
str1 |
String |
The beginning string |
str2 |
String |
The ending string |
Returns:
type | description |
---|---|
String |
The combined string |
Examples:
String.length
Added in 0.1.0
No other changes yet.
Returns the character length of the input string.
Parameters:
param | type | description |
---|---|---|
string |
String |
The string to inspect |
Returns:
type | description |
---|---|
Number |
The number of characters in the string |
Examples:
String.byteLength
Added in 0.1.0
No other changes yet.
Returns the byte length of the input string.
Parameters:
param | type | description |
---|---|---|
string |
String |
The string to inspect |
Returns:
type | description |
---|---|
Number |
The number of bytes in the string |
Examples:
String.isEmpty
Added in 0.6.0
No other changes yet.
Determines if the string contains no characters.
Parameters:
param | type | description |
---|---|---|
string |
String |
The string to inspect |
Returns:
type | description |
---|---|
Bool |
true if the string is empty and false otherwise |
String.indexOf
Added in 0.3.0
No other changes yet.
Finds the first position of a substring in the input string.
Parameters:
param | type | description |
---|---|---|
search |
String |
The substring to find |
string |
String |
The string to inspect |
Returns:
type | description |
---|---|
Option<Number> |
Some(position) containing the starting position of the substring if found or None otherwise |
Examples:
String.lastIndexOf
Added in 0.5.3
No other changes yet.
Finds the last position of a substring in the input string.
Parameters:
param | type | description |
---|---|---|
search |
String |
The substring to find |
string |
String |
The string to inspect |
Returns:
type | description |
---|---|
Option<Number> |
Some(position) containing the starting position of the substring if found or None otherwise |
Examples:
String.charCodeAt
Added in 0.5.3
No other changes yet.
Get the Unicode code point at the position in the input string.
Parameters:
param | type | description |
---|---|---|
position |
Number |
The position to check |
string |
String |
The string to search |
Returns:
type | description |
---|---|
Number |
The character code at the provided position |
Throws:
Failure(String)
- When the
position
is out of bounds
MalformedUnicode
- When the
string
is malformed
Examples:
String.charAt
Added in 0.4.0
No other changes yet.
Get the character at the position in the input string.
Parameters:
param | type | description |
---|---|---|
position |
Number |
The position to check |
string |
String |
The string to search |
Returns:
type | description |
---|---|
Char |
The character at the provided position |
Throws:
Failure(String)
- When the
position
is out of bounds
MalformedUnicode
- When the
string
is malformed
Examples:
String.explode
Added in 0.3.0
No other changes yet.
Split a string into its Unicode characters.
Parameters:
param | type | description |
---|---|---|
string |
String |
The string to split |
Returns:
type | description |
---|---|
Array<Char> |
An array containing all characters in the string |
Throws:
MalformedUnicode
- When the
string
is malformed
Examples:
String.implode
Added in 0.3.0
No other changes yet.
Create a string from an array of characters.
Parameters:
param | type | description |
---|---|---|
arr |
Array<Char> |
The array to combine |
Returns:
type | description |
---|---|
String |
A string representation of the array of characters |
Examples:
String.reverse
Added in 0.4.5
No other changes yet.
Create a string that is the given string reversed.
Parameters:
param | type | description |
---|---|---|
string |
String |
The string to reverse |
Returns:
type | description |
---|---|
String |
A string whose characters are in the reverse order of the given string |
Examples:
String.split
Split a string by the given separator.
Parameters:
param | type | description |
---|---|---|
separator |
String |
The separator to split on |
string |
String |
The string to split |
Returns:
type | description |
---|---|
Array<String> |
An array of substrings from the initial string |
Throws:
MalformedUnicode
- When the
string
is malformed
Examples:
String.slice
Added in 0.1.0
version | changes |
---|---|
0.6.0 | Default `end` to the String length |
Get a portion of a string.
Parameters:
param | type | description |
---|---|---|
start |
Number |
The start position of the substring |
?end |
Number |
The end position of the substring, exclusive |
string |
String |
The input string |
Returns:
type | description |
---|---|
String |
The substring from the initial string |
Throws:
IndexOutOfBounds
- When
start
is out of bounds - When
end
is out of bounds
InvalidArgument(String)
- When the
start
index is not an integer - When the
to
index is not an integer - When
start
is greater thanend
Examples:
String.contains
Added in 0.1.0
No other changes yet.
Check if a string contains a substring.
Parameters:
param | type | description |
---|---|---|
search |
String |
The substring to check |
string |
String |
The string to search |
Returns:
type | description |
---|---|
Bool |
true if the input string contains the search value or false otherwise |
Examples:
String.startsWith
Added in 0.1.0
No other changes yet.
Check if a string begins with another string.
Parameters:
param | type | description |
---|---|---|
search |
String |
The string to compare to the start |
string |
String |
The string to search |
Returns:
type | description |
---|---|
Bool |
true if the input string starts with the search value or false otherwise |
Examples:
String.endsWith
Added in 0.1.0
No other changes yet.
Check if a string ends with another string.
Parameters:
param | type | description |
---|---|---|
search |
String |
The string to compare to the end |
string |
String |
The string to search |
Returns:
type | description |
---|---|
Bool |
true if the input string ends with the search value or false otherwise |
Examples:
String.replaceFirst
Added in 0.5.4
No other changes yet.
Replaces the first appearance of the search pattern in the string with the replacement value.
Parameters:
param | type | description |
---|---|---|
searchPattern |
String |
The string to replace |
replacement |
String |
The replacement |
string |
String |
The string to change |
Returns:
type | description |
---|---|
String |
A new string with the first occurrence of the search pattern replaced |
Examples:
String.replaceLast
Added in 0.5.4
No other changes yet.
Replaces the last appearance of the search pattern in the string with the replacement value.
Parameters:
param | type | description |
---|---|---|
searchPattern |
String |
The string to replace |
replacement |
String |
The replacement |
string |
String |
The string to change |
Returns:
type | description |
---|---|
String |
A new string with the last occurrence of the search pattern replaced |
Examples:
String.replaceAll
Added in 0.5.4
No other changes yet.
Replaces every appearance of the search pattern in the string with the replacement value.
Parameters:
param | type | description |
---|---|---|
searchPattern |
String |
The string to replace |
replacement |
String |
The replacement |
string |
String |
The string to change |
Returns:
type | description |
---|---|
String |
A new string with each occurrence of the search pattern replaced |
Examples:
String.encodeAt
Added in 0.4.0
version | changes |
---|---|
0.6.0 | Added `includeBom` default argument |
1 | encodeAt : |
Encodes the given string into a byte sequence at the supplied position using the encoding scheme provided.
Parameters:
param | type | description |
---|---|---|
string |
String |
The input string |
encoding |
Encoding |
The encoding to use |
dest |
Bytes |
The byte sequence that will be copied |
destPos |
Number |
The location in the byte sequence to write the output |
?includeBom |
Bool |
Whether or not to include a byte order marker (false by default) |
Returns:
type | description |
---|---|
Bytes |
A copy of the input bytes with the encoded string replaced at the given position |
Throws:
InvalidArgument(String)
- When
destPos
is not an integer - When
destPos
is negative
String.encode
Added in 0.4.0
version | changes |
---|---|
0.6.0 | Added `includeBom` default argument |
Encodes the given string using the given encoding scheme.
Parameters:
param | type | description |
---|---|---|
string |
String |
The input string |
encoding |
Encoding |
The encoding to use |
?includeBom |
Bool |
Whether or not to include a byte order marker (false by default) |
Returns:
type | description |
---|---|
Bytes |
The byte representation of the string in the given encoding |
String.decodeRange
Added in 0.4.0
version | changes |
---|---|
0.6.0 | Added `keepBom` default argument |
1 | decodeRange : |
Decodes the given byte sequence of the specified range into a string using the encoding scheme provided.
Parameters:
param | type | description |
---|---|---|
bytes |
Bytes |
The input bytes |
encoding |
Encoding |
The encoding to use |
start |
Number |
The byte offset to begin decoding from |
size |
Number |
The maximum number of bytes to decode |
?keepBom |
Bool |
Whether or not to include a byte order marker (false by default) |
Returns:
type | description |
---|---|
String |
The decoded string |
Throws:
InvalidArgument(String)
- When
start
is not an integer - When
start
is negative - When
size
is not an integer - When
size
is negative
String.decode
Added in 0.4.0
version | changes |
---|---|
0.6.0 | Added `keepBom` default argument |
Decodes the given byte sequence into a string using the given encoding scheme.
Parameters:
param | type | description |
---|---|---|
bytes |
Bytes |
The input bytes |
encoding |
Encoding |
The encoding to use |
?keepBom |
Bool |
Whether or not to include a byte order marker (false by default) |
Returns:
type | description |
---|---|
String |
The decoded string |
String.forEachCodePoint
Added in 0.4.0
No other changes yet.
Iterates over Unicode code points in a string.
Parameters:
param | type | description |
---|---|---|
fn |
Number => Void |
The iterator function |
str |
String |
The string to iterate |
Examples:
String.forEachCodePointi
Added in 0.4.0
No other changes yet.
Iterates over Unicode code points in a string. This is the same as
forEachCodePoint
, but provides the code point’s index in the string
as the second argument to the iterator function.
Parameters:
param | type | description |
---|---|---|
fn |
(Number, Number) => Void |
The iterator function |
str |
String |
The string to iterate |
Examples:
String.forEachChar
Added in 0.6.5
No other changes yet.
Iterates over Unicode characters in a string.
Parameters:
param | type | description |
---|---|---|
fn |
Char => Void |
The iterator function |
str |
String |
The string to iterate |
Examples:
String.forEachChari
Added in 0.6.5
No other changes yet.
Iterates over Unicode characters in a string. This is the same as
forEachChar
, but provides the characters’s index in the string
as the second argument to the iterator function.
Parameters:
param | type | description |
---|---|---|
fn |
(Char, Number) => Void |
The iterator function |
str |
String |
The string to iterate |
Examples:
String.map
Added in 0.6.5
No other changes yet.
Builds a new string by mapping Unicode characters.
Parameters:
param | type | description |
---|---|---|
fn |
Char => Char |
The mapping function |
str |
String |
The string to map |
Examples:
String.mapi
Added in 0.6.5
No other changes yet.
Builds a new string by mapping Unicode characters. This is the same as
mapChar
, but provides the characters’s index in the string
as the second argument to the mapping function.
Parameters:
param | type | description |
---|---|---|
fn |
(Char, Number) => Char |
The mapping function |
str |
String |
The string to map |
Examples:
1 | assert String.mapi((char, index) => String.charAt(0, toString(index)), "Hello world") == "01234567891" |
String.trimStart
Added in 0.4.2
No other changes yet.
Trims the beginning of a string—removing any leading whitespace characters.
Parameters:
param | type | description |
---|---|---|
string |
String |
The string to be trimmed |
Returns:
type | description |
---|---|
String |
The trimmed string |
Examples:
String.trimEnd
Added in 0.4.2
No other changes yet.
Trims the end of a string—removing any trailing whitespace characters.
Parameters:
param | type | description |
---|---|---|
string |
String |
The string to be trimmed |
Returns:
type | description |
---|---|
String |
The trimmed string |
Examples:
String.trim
Added in 0.4.2
No other changes yet.
Trims a string—removing all leading and trailing whitespace characters.
Parameters:
param | type | description |
---|---|---|
string |
String |
The string to be trimmed |
Returns:
type | description |
---|---|
String |
The trimmed string |
Examples:
String.toAsciiLowercase
Added in 0.6.0
No other changes yet.
Converts all ASCII uppercase characters in the string to lowercase.
Parameters:
param | type | description |
---|---|---|
string |
String |
The string to convert |
Returns:
type | description |
---|---|
String |
The lowercased string |
Examples:
String.toAsciiUppercase
Added in 0.6.0
No other changes yet.
Converts all ASCII lowercase characters in the string to uppercase.
Parameters:
param | type | description |
---|---|---|
string |
String |
The string to convert |
Returns:
type | description |
---|---|
String |
The uppercased string |
Examples: