string
provides constants and functions to manipulate strings, it's intended to be a drop-in subset of Python's string module for Starlark.
ascii_lowercase
: A string containing all the characters that are considered lowercase letters.ascii_uppercase
: A string containing all the characters that are considered uppercase letters.ascii_letters
: A string containing all the characters that are considered letters.digits
: A string containing all characters considered decimal digits:0123456789
.hexdigits
: A string containing all characters considered hexadecimal digits:0123456789abcdefABCDEF
.octdigits
: A string containing all characters considered octal digits:01234567
.punctuation
: A string containing all characters which are considered punctuation characters.whitespace
: A string containing all characters that are considered whitespace.printable
: A string containing all characters that are considered printable. This is a combination of digits, ascii_letters, punctuation, and whitespace
Returns the length of the object; for string, it returns the number of Unicode code points, instead of bytes like len()
.
name | type | description |
---|---|---|
obj |
string |
The object whose length is to be calculated |
String
Calculate the length of a CJK string.
load("string", "length")
s = "你好"
print(length(s), len(s))
# Output: 2 6
Misc
Calculate the length of a list, set and map.
load("string", "length")
print(length([1, 2, 3]), length(set([1, 2])), length({1: 2}))
# Output: 3 2 1
Returns the reversed string of the given value.
name | type | description |
---|---|---|
str |
string |
A string that is to be reversed |
Basic
Reverse a string.
load("string", "reverse")
s = "123我爱你"
print(reverse(s))
# Output: 你爱我321
Returns the index of the first occurrence of the substring sub
in s
. If the substring is not found, an error is raised.
name | type | description |
---|---|---|
s |
string |
The string to be searched |
sub |
string |
The substring to search for |
Basic
Find the first occurrence of a substring in a string.
load("string", "index")
s = "hello world"
print(index(s, "o"))
# Output: 4
Returns the index of the last occurrence of the substring sub
in s
. If the substring is not found, an error is raised.
name | type | description |
---|---|---|
s |
string |
The string to be searched |
sub |
string |
The substring to search for |
Basic
Find the last occurrence of a substring in a string.
load("string", "rindex")
s = "hello world"
print(rindex(s, "o"))
# Output: 7
Returns the index of the first occurrence of the substring sub
in s
. If the substring is not found, returns -1.
name | type | description |
---|---|---|
s |
string |
The string to be searched |
sub |
string |
The substring to search for |
Basic
Find the first occurrence of a substring in a string, returning -1 if not found.
load("string", "find")
s = "hello world"
print(find(s, "o"))
print(find(s, "x"))
# Output: 4
# Output: -1
Returns the index of the last occurrence of the substring sub
in s
. If the substring is not found, returns -1.
name | type | description |
---|---|---|
s |
string |
The string to be searched |
sub |
string |
The substring to search for |
Basic
Find the last occurrence of a substring in a string, returning -1 if not found.
load("string", "rfind")
s = "hello world"
print(rfind(s, "o"))
print(rfind(s, "x"))
# Output: 7
# Output: -1
Returns a substring of s
from index start
to end
(exclusive).
name | type | description |
---|---|---|
s |
string |
The string to be sliced |
start |
int |
The starting index for the substring |
end |
int |
The ending index for the substring |
Basic
Get a substring of a string.
load("string", "substring")
s = "hello world"
print(substring(s, 1, 5))
# Output: "ello"
Negative Indices
Get a substring of a string using negative indices.
load("string", "substring")
s = "hello world"
print(substring(s, -5, -1))
# Output: "worl"
Returns the Unicode codepoint of the character at the given index
in s
.
name | type | description |
---|---|---|
s |
string |
The string from which to get the codepoint |
index |
int |
The index of the character |
Basic
Get the Unicode codepoint of a character at a specific index.
load("string", "codepoint")
s = "hello world"
print(codepoint(s, 4))
# Output: "o"
Converts the characters "&", "<", ">", '"' and "'" in string to their corresponding HTML entities.
name | type | description |
---|---|---|
str |
string |
A string which is to be HTML escaped |
Basic
Escape a string.
load("string", "escape")
s = "Hello<World>"
print(escape(s))
# Output: Hello<World>
Converts the HTML entities in a string back to their corresponding characters.
name | type | description |
---|---|---|
str |
string |
A HTML escaped string |
Basic
Unescape a string.
load("string", "unescape")
s = "You&Me"
print(unescape(s))
# Output: "You&Me"
Returns a shell-escaped version of the string str. This returns a string that can safely be used as one token in a shell command line.
name | type | description |
---|---|---|
str |
string |
A string which is to be quoted |
Basic
Quote a string.
load("string", "quote")
s = "Hello World"
print(quote(s))
# Output: "Hello World"
Returns a shell-unescaped version of the string str. This returns a string that was used as one token in a shell command line.
name | type | description |
---|---|---|
str |
string |
A string which is to be unquoted |
Basic
Unquote a string.
load("string", "unquote")
s = '"Hello\tWorld"'
print(unquote(s))
World