string
pixeltable.functions.string
Pixeltable UDFs for StringType
.
It closely follows the Pandas pandas.Series.str
API.
Example:
import pixeltable as pxt
from pixeltable.functions import string as pxt_str
t = pxt.get_table(...)
t.select(pxt_str.capitalize(t.str_col)).collect()
capitalize
capitalize(self: String) -> String
Return string with its first character capitalized and the rest lowercased.
Equivalent to str.capitalize()
.
casefold
casefold(self: String) -> String
Return a casefolded copy of string.
Equivalent to str.casefold()
.
center
center(self: String, width: Int, fillchar: String = ' ') -> String
Return a centered string of length width
.
Equivalent to str.center()
.
Parameters:
-
width
(Int
) –Total width of the resulting string.
-
fillchar
(String
, default:' '
) –Character used for padding.
contains
contains(
self: String,
pattern: String,
case: Bool = True,
flags: Int = 0,
regex: Bool = True,
) -> Bool
Test if string contains pattern or regex.
Parameters:
-
pattern
(String
) –string literal or regular expression
-
case
(Bool
, default:True
) –if False, ignore case
-
flags
(Int
, default:0
) –flags for the
re
module -
regex
(Bool
, default:True
) –if True, treat pattern as a regular expression
count
count(self: String, pattern: String, flags: Int = 0) -> Int
Count occurrences of pattern or regex.
Parameters:
-
pattern
(String
) –string literal or regular expression
-
flags
(Int
, default:0
) –flags for the
re
module
endswith
endswith(self: String, pattern: String) -> Bool
Return True
if the string ends with the specified suffix, otherwise return False
.
Equivalent to str.endswith()
.
Parameters:
-
pattern
(String
) –string literal
fill
fill(self: String, width: Int, **kwargs: None) -> String
Wraps the single paragraph in string, and returns a single string containing the wrapped paragraph.
Equivalent to textwrap.fill()
.
Parameters:
-
width
(Int
) –Maximum line width.
-
kwargs
(None
, default:{}
) –Additional keyword arguments to pass to
textwrap.fill()
.
find
find(
self: String,
substr: String,
start: Optional[Int] = 0,
end: Optional[Int] = None,
) -> Int
Return the lowest index in string where substr
is found within the slice s[start:end]
.
Equivalent to str.find()
.
Parameters:
-
substr
(String
) –substring to search for
-
start
(Optional[Int]
, default:0
) –slice start
-
end
(Optional[Int]
, default:None
) –slice end
findall
findall(self: String, pattern: String, flags: Int = 0) -> Json
Find all occurrences of a regular expression pattern in string.
Equivalent to re.findall()
.
Parameters:
-
pattern
(String
) –regular expression pattern
-
flags
(Int
, default:0
) –flags for the
re
module
format
format(self: String, *args: None, **kwargs: None) -> String
Perform string formatting.
Equivalent to str.format()
.
fullmatch
fullmatch(
self: String, pattern: String, case: Bool = True, flags: Int = 0
) -> Bool
Determine if string fully matches a regular expression.
Equivalent to re.fullmatch()
.
Parameters:
-
pattern
(String
) –regular expression pattern
-
case
(Bool
, default:True
) –if False, ignore case
-
flags
(Int
, default:0
) –flags for the
re
module
index
index(
self: String,
substr: String,
start: Optional[Int] = 0,
end: Optional[Int] = None,
) -> Int
Return the lowest index in string where substr
is found within the slice [start:end]
.
Raises ValueError if substr
is not found.
Equivalent to str.index()
.
Parameters:
-
substr
(String
) –substring to search for
-
start
(Optional[Int]
, default:0
) –slice start
-
end
(Optional[Int]
, default:None
) –slice end
isalnum
isalnum(self: String) -> Bool
Return True
if all characters in the string are alphanumeric and there is at least one character, False
otherwise.
Equivalent to [str.isalnum()
](https://docs.python.org/3/library/stdtypes.html#str.isalnum
isalpha
isalpha(self: String) -> Bool
Return True
if all characters in the string are alphabetic and there is at least one character, False
otherwise.
Equivalent to str.isalpha()
.
isascii
isascii(self: String) -> Bool
Return True
if the string is empty or all characters in the string are ASCII, False
otherwise.
Equivalent to str.isascii()
.
isdecimal
isdecimal(self: String) -> Bool
Return True
if all characters in the string are decimal characters and there is at least one character, False
otherwise.
Equivalent to str.isdecimal()
.
isdigit
isdigit(self: String) -> Bool
Return True
if all characters in the string are digits and there is at least one character, False
otherwise.
Equivalent to str.isdigit()
.
isidentifier
isidentifier(self: String) -> Bool
Return True
if the string is a valid identifier according to the language definition, False
otherwise.
Equivalent to str.isidentifier()
islower
islower(self: String) -> Bool
Return True
if all cased characters in the string are lowercase and there is at least one cased character,
False
otherwise.
Equivalent to str.islower()
isnumeric
isnumeric(self: String) -> Bool
Return True
if all characters in the string are numeric characters, False
otherwise.
Equivalent to str.isnumeric()
isspace
isspace(self: String) -> Bool
Return True
if there are only whitespace characters in the string and there is at least one character,
False
otherwise.
Equivalent to str.isspace()
istitle
istitle(self: String) -> Bool
Return True
if the string is a titlecased string and there is at least one character, False
otherwise.
Equivalent to str.istitle()
isupper
isupper(self: String) -> Bool
Return True
if all cased characters in the string are uppercase and there is at least one cased character,
False
otherwise.
Equivalent to str.isupper()
join
join(sep: String, elements: Json) -> String
Return a string which is the concatenation of the strings in elements
.
Equivalent to str.join()
ljust
ljust(self: String, width: Int, fillchar: String = ' ') -> String
Return the string left-justified in a string of length width
.
Equivalent to str.ljust()
Parameters:
-
width
(Int
) –Minimum width of resulting string; additional characters will be filled with character defined in
fillchar
. -
fillchar
(String
, default:' '
) –Additional character for filling.
lower
lower(self: String) -> String
Return a copy of the string with all the cased characters converted to lowercase.
Equivalent to str.lower()
lstrip
lstrip(self: String, chars: Optional[String] = None) -> String
Return a copy of the string with leading characters removed. The chars
argument is a string specifying the set of
characters to be removed. If omitted or None
, whitespace characters are removed.
Equivalent to str.lstrip()
Parameters:
-
chars
(Optional[String]
, default:None
) –The set of characters to be removed.
match
match(self: String, pattern: String, case: Bool = True, flags: Int = 0) -> Bool
Determine if string starts with a match of a regular expression
Parameters:
-
pattern
(String
) –regular expression pattern
-
case
(Bool
, default:True
) –if False, ignore case
-
flags
(Int
, default:0
) –flags for the
re
module
normalize
normalize(self: String, form: String) -> String
Return the Unicode normal form.
Equivalent to unicodedata.normalize()
Parameters:
-
form
(String
) –Unicode normal form (
'NFC'
,'NFKC'
,'NFD'
,'NFKD'
)
pad
pad(
self: String, width: Int, side: String = "left", fillchar: String = " "
) -> String
Pad string up to width
Parameters:
-
width
(Int
) –Minimum width of resulting string; additional characters will be filled with character defined in
fillchar
. -
side
(String
, default:'left'
) –Side from which to fill resulting string (
'left'
,'right'
,'both'
) -
fillchar
(String
, default:' '
) –Additional character for filling
partition
partition(self: String, sep: String = ' ') -> Json
Splits string at the first occurrence of sep
, and returns 3 elements containing the part before the
separator, the separator itself, and the part after the separator. If the separator is not found, return 3 elements
containing string itself, followed by two empty strings.
removeprefix
removeprefix(self: String, prefix: String) -> String
Remove prefix. If the prefix is not present, returns string.
removesuffix
removesuffix(self: String, suffix: String) -> String
Remove suffix. If the suffix is not present, returns string.
repeat
repeat(self: String, n: Int) -> String
Repeat string n
times.
replace
replace(
self: String,
pattern: String,
repl: String,
n: Int = -1,
case: Bool = True,
flags: Int = 0,
regex: Bool = False,
) -> String
Replace occurrences of pattern
with repl
.
Equivalent to str.replace()
or
re.sub()
, depending on the value of regex.
Parameters:
-
pattern
(String
) –string literal or regular expression
-
repl
(String
) –replacement string
-
n
(Int
, default:-1
) –number of replacements to make (-1 for all)
-
case
(Bool
, default:True
) –if False, ignore case
-
flags
(Int
, default:0
) –flags for the
re
module -
regex
(Bool
, default:False
) –if True, treat pattern as a regular expression
rfind
rfind(
self: String,
substr: String,
start: Optional[Int] = 0,
end: Optional[Int] = None,
) -> Int
Return the highest index where substr
is found, such that substr
is contained within [start:end]
.
Equivalent to str.rfind()
.
Parameters:
-
substr
(String
) –substring to search for
-
start
(Optional[Int]
, default:0
) –slice start
-
end
(Optional[Int]
, default:None
) –slice end
rindex
rindex(
self: String,
substr: String,
start: Optional[Int] = 0,
end: Optional[Int] = None,
) -> Int
Return the highest index where substr
is found, such that substr
is contained within [start:end]
.
Raises ValueError if substr
is not found.
Equivalent to str.rindex()
.
rjust
rjust(self: String, width: Int, fillchar: String = ' ') -> String
Return the string right-justified in a string of length width
.
Equivalent to str.rjust()
.
Parameters:
-
width
(Int
) –Minimum width of resulting string.
-
fillchar
(String
, default:' '
) –Additional character for filling.
rpartition
rpartition(self: String, sep: String = ' ') -> Json
This method splits string at the last occurrence of sep
, and returns a list containing the part before the
separator, the separator itself, and the part after the separator.
rstrip
rstrip(self: String, chars: Optional[String] = None) -> String
Return a copy of string with trailing characters removed.
Equivalent to str.rstrip()
.
Parameters:
-
chars
(Optional[String]
, default:None
) –The set of characters to be removed. If omitted or
None
, whitespace characters are removed.
slice
slice(
self: String,
start: Optional[Int] = None,
stop: Optional[Int] = None,
step: Optional[Int] = None,
) -> String
Return a slice.
Parameters:
-
start
(Optional[Int]
, default:None
) –slice start
-
stop
(Optional[Int]
, default:None
) –slice end
-
step
(Optional[Int]
, default:None
) –slice step
slice_replace
slice_replace(
self: String,
start: Optional[Int] = None,
stop: Optional[Int] = None,
repl: Optional[String] = None,
) -> String
Replace a positional slice with another value.
Parameters:
-
start
(Optional[Int]
, default:None
) –slice start
-
stop
(Optional[Int]
, default:None
) –slice end
-
repl
(Optional[String]
, default:None
) –replacement value
startswith
startswith(self: String, pattern: String) -> Int
Return True
if string starts with pattern
, otherwise return False
.
Equivalent to str.startswith()
.
Parameters:
-
pattern
(String
) –string literal
strip
strip(self: String, chars: Optional[String] = None) -> String
Return a copy of string with leading and trailing characters removed.
Equivalent to str.strip()
.
Parameters:
-
chars
(Optional[String]
, default:None
) –The set of characters to be removed. If omitted or
None
, whitespace characters are removed.
swapcase
swapcase(self: String) -> String
Return a copy of string with uppercase characters converted to lowercase and vice versa.
Equivalent to str.swapcase()
.
title
title(self: String) -> String
Return a titlecased version of string, i.e. words start with uppercase characters, all remaining cased characters are lowercase.
Equivalent to str.title()
.
upper
upper(self: String) -> String
Return a copy of string converted to uppercase.
Equivalent to str.upper()
.
wrap
wrap(self: String, width: Int, **kwargs: None) -> Json
Wraps the single paragraph in string so every line is at most width
characters long.
Returns a list of output lines, without final newlines.
Equivalent to textwrap.fill()
.
Parameters:
-
width
(Int
) –Maximum line width.
-
kwargs
(None
, default:{}
) –Additional keyword arguments to pass to
textwrap.fill()
.
zfill
zfill(self: String, width: Int) -> String
Pad a numeric string with ASCII 0
on the left to a total length of width
.
Equivalent to str.zfill()
.
Parameters:
-
width
(Int
) –Minimum width of resulting string.