string
Module
Implements basic object methods for working with strings.
These are Mojo built-ins, so you don’t need to import them.
String
Represents a mutable string.
Functions:
__init__
__init__(inout self: Self)
Construct an empty string.
__init__(inout self: Self, str: StringRef)
Construct a string from a StringRef object.
Args:
- str (
StringRef
): The StringRef from which to construct this string object.
__init__(inout self: Self, str: StringLiteral)
Constructs a String value given a constant string.
Args:
- str (
StringLiteral
): The input constant string.
__init__(inout self: Self, val: Bool)
Constructs a string representing an bool value.
Args:
- val (
Bool
): The boolean value.
__init__(inout self: Self, num: Int)
Constructs a string representing an integer value.
Args:
- num (
Int
): The integer value.
__init__(inout self: Self, num: FloatLiteral)
Constructs a string representing a float value.
Args:
- num (
FloatLiteral
): The float value.
__init__[type: DType, simd_width: Int](inout self: Self, vec: SIMD[type, simd_width])
Constructs a string for a given SIMD value.
Parameters:
- type (
DType
): The dtype of the SIMD value. - simd_width (
Int
): The width of the SIMD value.
Args:
- vec (
SIMD[type, simd_width]
): The SIMD value.
__init__[type: DType, simd_width: Int](inout self: Self, vec: ComplexSIMD[type, simd_width])
Constructs a string for a given complex value.
Parameters:
- type (
DType
): The dtype of the SIMD value. - simd_width (
Int
): The width of the SIMD value.
Args:
- vec (
ComplexSIMD[type, simd_width]
): The complex value.
__init__[size: Int](inout self: Self, tuple: StaticIntTuple[size])
Constructs a string from a given StaticIntTuple.
Parameters:
- size (
Int
): The size of the tuple.
Args:
- tuple (
StaticIntTuple[size]
): The input tuple.
__init__(inout self: Self, ptr: Pointer[SIMD[si8, 1]], len: Int)
Creates a string from the buffer. Note that the string now owns the buffer.
Args:
- ptr (
Pointer[SIMD[si8, 1]]
): The pointer to the buffer. - len (
Int
): The length of the buffer.
__copyinit__
__copyinit__(inout self: Self, existing: Self)
Creates a deep copy of an existing string.
Args:
- existing (
Self
): The string to copy.
__del__
__del__(owned self: Self)
Deallocates the string.
__bool__
__bool__(self: Self) -> Bool
Checks if the string is empty.
Returns:
True if the string is empty and False otherwise.
__getitem__
__getitem__(self: Self, idx: Int) -> Self
Gets the character at the specified position.
Args:
- idx (
Int
): The index value.
Returns:
A new string containing the character at the specified position.
__getitem__(self: Self, span: slice) -> Self
Gets the sequence of characters at the specified positions.
Args:
- span (
slice
): A slice that specifies positions of the new substring.
Returns:
A new string containing the string at the specified positions.
__eq__
__eq__(self: Self, other: Self) -> Bool
Compares two Strings if they have the same values.
Args:
- other (
Self
): The rhs of the operation.
Returns:
True if the Strings are equal and False otherwise.
__ne__
__ne__(self: Self, other: Self) -> Bool
Compares two Strings if they do not have the same values.
Args:
- other (
Self
): The rhs of the operation.
Returns:
True if the Strings are not equal and False otherwise.
__add__
__add__(self: Self, other: Self) -> Self
Creates a string by appending another string at the end.
Args:
- other (
Self
): The string to append.
Returns:
The new constructed string.
__radd__
__radd__(self: Self, other: Self) -> Self
Creates a string by prepending another string to the start.
Args:
- other (
Self
): The string to prepend.
Returns:
The new constructed string.
__radd__(self: Self, other: StringLiteral) -> Self
Creates a string by prepending another string to the start.
Args:
- other (
StringLiteral
): The string to prepend.
Returns:
The new constructed string.
__iadd__
__iadd__(inout self: Self, other: Self)
Appends another string to this string.
Args:
- other (
Self
): The string to append.
__len__
__len__(self: Self) -> Int
Returns the string length.
Returns:
The string length.
join
join[rank: Int](self: Self, elems: StaticIntTuple[rank]) -> Self
Joins the elements from the tuple using the current string as a delimiter.
Parameters:
- rank (
Int
): The size of the tuple.
Args:
- elems (
StaticIntTuple[rank]
): The input tuple.
Returns:
The joined string.
join(self: Self, *lst: Int) -> Self
Joins integer elements using the current string as a delimiter.
Args:
- lst (
*Int
): The input values.
Returns:
The joined string.
join(self: Self, *strs: Self) -> Self
Joins string elements using the current string as a delimiter.
Args:
- strs (
*Self
): The input values.
Returns:
The joined string.
ord
ord(s: String) -> Int
Returns an integer that represents the given one-character string.
Given a string representing one ASCII character, return an integer representing the code point of that character. For example, ord("a")
returns the integer 97
. This is the inverse of the chr()
function.
Args:
- s (
String
): The input string, which must contain only a single character.
Returns:
An integer representing the code point of the given character.
chr
chr(c: Int) -> String
Returns a string based on the given Unicode code point.
Returns the string representing a character whose code point (which must be a positive integer between 0 and 255) is the integer i
. For example, chr(97)
returns the string "a"
. This is the inverse of the ord()
function.
Args:
- c (
Int
): An integer between 0 and 255 that represents a code point.
Returns:
A string containing a single character based on the given code point.
atol
atol(str: String) -> Int
Parses the given string as a base-10 integer and returns that value.
For example, atol("19")
returns 19
. If the given string cannot be parsed as an integer value, an error is raised. For example, atol("hi")
raises an error.
Args:
- str (
String
): A string to be parsed as a base-10 integer.
Returns:
An integer value that represents the string, or otherwise raises.
isdigit
isdigit(c: SIMD[si8, 1]) -> Bool
Determines whether the given character is a digit [0-9].
Args:
- c (
SIMD[si8, 1]
): The character to check.
Returns:
True if the character is a digit.