字符串包含#
- group 搜索
函数
-
std::unique_ptr<column> contains_re(strings_column_view const &input, regex_program const &prog, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回一个布尔列,标识与给定 regex_program 对象匹配的行。
Example: s = ["abc", "123", "def456"] p = regex_program::create("\\d+") r = contains_re(s, p) r is now [false, true, true]
任何空字符串条目返回相应的空输出列条目。
有关此 API 支持的模式的详细信息,请参阅正则表达式特性页面。
- 参数:
input – 用于此操作的字符串实例
prog – 正则表达式程序实例
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
每行字符串的布尔结果新列
-
std::unique_ptr<column> matches_re(strings_column_view const &input, regex_program const &prog, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回一个布尔列,标识与给定 regex_program 对象匹配但仅在字符串开头匹配的行。
Example: s = ["abc", "123", "def456"] p = regex_program::create("\\d+") r = matches_re(s, p) r is now [false, true, false]
任何空字符串条目返回相应的空输出列条目。
有关此 API 支持的模式的详细信息,请参阅正则表达式特性页面。
- 参数:
input – 用于此操作的字符串实例
prog – 正则表达式程序实例
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
每行字符串的布尔结果新列
-
std::unique_ptr<column> count_re(strings_column_view const &input, regex_program const &prog, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回给定 regex_program 的模式在每行字符串中匹配的次数。
Example: s = ["abc", "123", "def45"] p = regex_program::create("\\d") r = count_re(s, p) r is now [0, 3, 2]
任何空字符串条目返回相应的空输出列条目。
有关此 API 支持的模式的详细信息,请参阅正则表达式特性页面。
- 参数:
input – 用于此操作的字符串实例
prog – 正则表达式程序实例
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
每行字符串的匹配计数新列
-
std::unique_ptr<column> like(strings_column_view const &input, string_scalar const &pattern, string_scalar const &escape_character = string_scalar(""), rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回一个布尔列,标识与给定 like 模式匹配的行。
like 模式只期望 2 个通配符特殊字符
%
零个或多个任意字符_
任意单个字符
Example: s = ["azaa", "ababaabba", "aaxa"] r = like(s, "%a_aa%") r is now [1, 1, 0] r = like(s, "a__a") r is now [1, 0, 1]
指定一个转义字符,以便在搜索中包含
%
或_
。escape_character
预期为 0 个或 1 个字符。如果指定了多个字符,则只使用第一个字符。Example: s = ["abc_def", "abc1def", "abc_"] r = like(s, "abc/_d%", "/") r is now [1, 0, 0]
任何空字符串条目返回相应的空输出列条目。
- 抛出:
cudf::logic_error – 如果
pattern
或escape_character
无效- 参数:
input – 用于此操作的字符串实例
pattern – 用于在每行字符串内匹配的 Like 模式
escape_character – 可选字符,指定转义前缀。默认为没有转义字符。
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
新的布尔列
-
std::unique_ptr<column> like(strings_column_view const &input, strings_column_view const &patterns, string_scalar const &escape_character = string_scalar(""), rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回一个布尔列,标识与给定 patterns 中相应 like 模式匹配的行。
like 模式只期望 2 个通配符特殊字符
%
零个或多个任意字符_
任意单个字符
Example: s = ["azaa", "ababaabba", "aaxa"] p = ["%a", "b%", "__x_"] r = like(s, p) r is now [1, 0, 1]
指定一个转义字符,以便在搜索中包含
%
或_
。escape_character
预期为 0 个或 1 个字符。如果指定了多个字符,则只使用第一个字符。转义字符应用于所有模式。任何空字符串条目返回相应的空输出列条目。
- 抛出:
cudf::logic_error – 如果
patterns
包含空值或escape_character
无效cudf::logic_error – 如果
patterns.size() != input.size()
- 参数:
input – 用于此操作的字符串实例
patterns – 用于在每个相应字符串内匹配的 Like 模式
escape_character – 可选字符,指定转义前缀。默认为没有转义字符。
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
新的布尔列
-
std::unique_ptr<column> findall(strings_column_view const &input, regex_program const &prog, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回一个列表列,其中包含使用每行字符串中的 regex_program 模式找到的每个匹配项的字符串。
每行输出包含相应输入行中与给定模式匹配的所有子字符串。如果未找到匹配项,则输出行为空。
Example: s = ["bunny", "rabbit", "hare", "dog"] p = regex_program::create("[ab]") r = findall(s, p) r is now a lists column like: [ ["b"] ["a","b","b"] ["a"] [] ]
如果相应的输入行为空,则输出行为空。
有关此 API 支持的模式的详细信息,请参阅正则表达式特性页面。
- 参数:
input – 用于此操作的字符串实例
prog – 正则表达式程序实例
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
新的字符串列表列
-
std::unique_ptr<column> find_re(strings_column_view const &input, regex_program const &prog, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回给定模式在输入列每行中第一个匹配项的起始字符索引。
Example: s = ["bunny", "rabbit", "hare", "dog"] p = regex_program::create("[be]") r = find_re(s, p) r is now [0, 2, 3, -1]
如果相应的输入行为空,则输出行为空。对于不包含匹配项的行,返回 -1。
有关此 API 支持的模式的详细信息,请参阅正则表达式特性页面。
- 参数:
input – 用于此操作的字符串实例
prog – 正则表达式程序实例
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回:
新的整数列
-
std::unique_ptr<column> contains_re(strings_column_view const &input, regex_program const &prog, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#