class RPad(ValueOp): input_type = [ string, integer(name='length'), string(name='pad', optional=True) ] output_type = rules.shape_like_arg(0, 'string')
class GroupConcat(Reduction): input_type = [rules.array, string(name='sep', default=',')] # boolean(name='where', optional=True)] def output_type(self): return ir.StringScalar
class StringFind(ValueOp): input_type = [ string, string(name='substr'), integer(name='start', optional=True, default=None), integer(name='end', optional=True, default=None) ] output_type = rules.shape_like_arg(0, 'int64')
class MyExprNode(ir.Node): input_type = [ rules.string(name='foo'), rules.number(name='bar'), ] def output_type(self): return MyExpr
class ParseURL(ValueOp): input_type = [ string, rules.string_options([ 'PROTOCOL', 'HOST', 'PATH', 'REF', 'AUTHORITY', 'FILE', 'USERINFO', 'QUERY' ], name='extract'), string(name='key', optional=True) ] output_type = rules.shape_like_arg(0, 'string')
def __radd__(self, other: str | StringValue) -> StringValue: """Concatenate strings. Parameters ---------- other String to concatenate Returns ------- StringValue All strings concatenated """ import ibis.expr.rules as rlz return rlz.string(other).concat(self)
class RegexReplace(ValueOp): input_type = [string, string(name='pattern'), string(name='replacement')] output_type = rules.shape_like_arg(0, 'string')
class RegexExtract(ValueOp): input_type = [string, string(name='pattern'), integer(name='index')] output_type = rules.shape_like_arg(0, 'string')
class FuzzySearch(BooleanValueOp): input_type = [string, string(name='pattern')] output_type = rules.shape_like_arg(0, 'boolean')
class StringJoin(ValueOp): input_type = [string(name='sep'), list_of(string, min_length=1)] output_type = rules.shape_like_flatargs('string')
class FindInSet(ValueOp): input_type = [string(name='needle'), list_of(string, min_length=1)] output_type = rules.shape_like_arg(0, 'int64')
class Translate(ValueOp): input_type = [string, string(name='from_str'), string(name='to_str')] output_type = rules.shape_like_arg(0, 'string')