StringUtils
Library that simplifies working with strings in Solidity
char
function char(string _s, uint256 _index) public pure returns (string)
Get character in string by index
Parameters
Name |
Type |
Description |
_s |
string |
Input string |
_index |
uint256 |
Target index in the string |
Return Values
Name |
Type |
Description |
[0] |
string |
Character by index |
equal
function equal(string _s1, string _s2) internal pure returns (bool)
Compares two strings
Parameters
Name |
Type |
Description |
_s1 |
string |
One string |
_s2 |
string |
Another string |
Return Values
Name |
Type |
Description |
[0] |
bool |
Are string equal |
length
function length(string _s) internal pure returns (uint256)
Gets length of the string
Parameters
Name |
Type |
Description |
_s |
string |
Input string |
Return Values
Name |
Type |
Description |
[0] |
uint256 |
The lenght of the string |
concat
function concat(string _s1, string _s2) internal pure returns (string)
Concats two strings
Parameters
Name |
Type |
Description |
_s1 |
string |
One string |
_s2 |
string |
Another string |
Return Values
Name |
Type |
Description |
[0] |
string |
The concatenation of the strings |
substr
function substr(string _str, uint256 _start, uint256 _end) public pure returns (string)
Creates a substring from a string
Ex. substr('0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE', 2, 42) => '9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE'
Parameters
Name |
Type |
Description |
_str |
string |
Input string |
_start |
uint256 |
Start index (inclusive) |
_end |
uint256 |
End index (not inclusive) |
Return Values
Name |
Type |
Description |
[0] |
string |
Substring |
isIn
function isIn(string _char, string _string) public pure returns (bool)
Checks is _char is present in the _string
Ex. _
.in('123_456') => true
Ex. 8
.in('123456') => false
Parameters
Name |
Type |
Description |
_char |
string |
Searched character |
_string |
string |
String to search in |
Return Values
Name |
Type |
Description |
[0] |
bool |
Is the character presented in the string |
fromHex
function fromHex(string s) public pure returns (bytes)
toString
function toString(uint256 _num) internal pure returns (string)
Inspired by OraclizeAPI's implementation - MIT licence
https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol
Converts a uint256
to its ASCII string
decimal representation
Parameters
Name |
Type |
Description |
_num |
uint256 |
Input number |
Return Values
Name |
Type |
Description |
[0] |
string |
Number represented as a string |
toUint256
function toUint256(string _s) public pure returns (uint256 value)
Converts a decimal number (provided as a string) to uint256
Parameters
Name |
Type |
Description |
_s |
string |
Input decimal number (provided as a string) |
Return Values
Name |
Type |
Description |
value |
uint256 |
Unsigned integer from input string |
parseScientificNotation
function parseScientificNotation(string _s) public pure returns (string result)
Converts a decimal number (provided as a string) with e symbol (1e18) to number (returned as a string)
Parameters
Name |
Type |
Description |
_s |
string |
Input decimal number (provided as a string) |
Return Values
Name |
Type |
Description |
result |
string |
Unsigned integer in a string format |
mayBeNumber
function mayBeNumber(string _string) public pure returns (bool)
If the string starts with a number, so we assume that it's a number.
Parameters
Name |
Type |
Description |
_string |
string |
is a current string for checking |
Return Values
Name |
Type |
Description |
[0] |
bool |
isNumber that is true if the string starts with a number, otherwise is false |
mayBeAddress
function mayBeAddress(string _string) public pure returns (bool)
If the string starts with 0x
symbols, so we assume that it's an address.
Parameters
Name |
Type |
Description |
_string |
string |
is a current string for checking |
Return Values
Name |
Type |
Description |
[0] |
bool |
isAddress that is true if the string starts with 0x symbols, otherwise is false |
isValidVarName
function isValidVarName(string _s) public pure returns (bool)
Checks is string is a valid DSL variable name (matches regexp /^([A-Z$][A-Z\d_$]*)$/g)_
Parameters
Name |
Type |
Description |
_s |
string |
is a current string to check |
Return Values
Name |
Type |
Description |
[0] |
bool |
isCapital whether the string is a valid DSL variable name or not |