StringUtils
Author: Synapse Contributors
Library for handling strings, that could be used with any Solidity version from 0.6 to 0.8.
State Variables
NOT_FOUND
The value returned by indexOf when the substring is not found.
uint256 internal constant NOT_FOUND = type(uint256).max;
ZERO
bytes1 private constant ZERO = bytes1("0");
NINE
bytes1 private constant NINE = bytes1("9");
Functions
length
Returns the length of a string
function length(string memory str) internal pure returns (uint256);
substring
Returns a substring of a string in the range [startIndex, endIndex)
function substring(string memory str, uint256 startIndex, uint256 endIndex) internal pure returns (string memory);
Parameters
Name | Type | Description |
---|---|---|
str | string | The string to take a substring of |
startIndex | uint256 | The start index (inclusive) |
endIndex | uint256 | The end index (exclusive) |
suffix
Returns a suffix of a string starting at the given index, inclusive: [startIndex, str.length)
function suffix(string memory str, uint256 startIndex) internal pure returns (string memory);
Parameters
Name | Type | Description |
---|---|---|
str | string | The string to take a suffix of |
startIndex | uint256 | The start index (inclusive) |
prefix
Returns a prefix of a string ending at the given index, exclusive: [0, endIndex)
function prefix(string memory str, uint256 endIndex) internal pure returns (string memory);
Parameters
Name | Type | Description |
---|---|---|
str | string | The string to take a prefix of |
endIndex | uint256 | The end index (exclusive) |
concat
Concatenates two strings
function concat(string memory a, string memory b) internal pure returns (string memory);
concat
Concatenates three strings
function concat(string memory a, string memory b, string memory c) internal pure returns (string memory);
concat
Concatenates four strings
function concat(
string memory a,
string memory b,
string memory c,
string memory d
)
internal
pure
returns (string memory);
concat
Concatenates five strings
function concat(
string memory a,
string memory b,
string memory c,
string memory d,
string memory e
)
internal
pure
returns (string memory);
concat
Concatenates six strings
function concat(
string memory a,
string memory b,
string memory c,
string memory d,
string memory e,
string memory f
)
internal
pure
returns (string memory);
duplicate
Duplicates a string a given number of times. Example: duplicate("abc", 3) = "abcabcabc"
function duplicate(string memory str, uint256 times) internal pure returns (string memory duplicateStr);
equals
Checks if two strings are equal
function equals(string memory a, string memory b) internal pure returns (bool);
Parameters
Name | Type | Description |
---|---|---|
a | string | The first string |
b | string | The second string |
indexOf
Returns the index of the first occurrence of a substring in a string, or NOT_FOUND if not found.
function indexOf(string memory str, string memory subStr) internal pure returns (uint256);
Parameters
Name | Type | Description |
---|---|---|
str | string | The string to search in |
subStr | string | The substring to search for |
lastIndexOf
Returns the index of the last occurrence of a substring in a string, or NOT_FOUND if not found.
function lastIndexOf(string memory str, string memory subStr) internal pure returns (uint256);
Parameters
Name | Type | Description |
---|---|---|
str | string | The string to search in |
subStr | string | The substring to search for |
toUint
Derives integer from its string representation.
function toUint(string memory str) internal pure returns (uint256 val);
Parameters
Name | Type | Description |
---|---|---|
str | string | The string to convert |
fromUint
Converts an integer to its string representation.
function fromUint(uint256 val) internal pure returns (string memory);
fromFloat
Converts a float to its string representation.
function fromFloat(uint256 val, uint256 decimals) internal pure returns (string memory);
Parameters
Name | Type | Description |
---|---|---|
val | uint256 | The float to convert, scaled by 10**decimals |
decimals | uint256 | The number of decimals to use |
fromWei
Converts a float to its string representation, using 18 decimals.
function fromWei(uint256 val) internal pure returns (string memory);
Parameters
Name | Type | Description |
---|---|---|
val | uint256 | The float to convert, scaled by 10**18 |