字符串包含#
- group strings_contains
函数
-
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支持的模式详情,请参见Regex Features页面。
- Parameters:
input – 此操作的字符串实例
prog – 正则表达式程序实例
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
每个字符串的布尔结果新列
-
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支持的模式详情,请参见Regex Features页面。
- Parameters:
input – 此操作的字符串实例
prog – 正则表达式程序实例
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
每个字符串的布尔结果新列
-
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支持的模式详情,请参见Regex Features页面。
- Parameters:
input – 此操作的字符串实例
prog – 正则表达式程序实例
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
每个字符串的匹配计数的新列
-
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]
任何空字符串条目返回相应的空输出列条目。
- Throws:
cudf::logic_error – 如果
pattern或escape_character无效- Parameters:
input – 此操作的字符串实例
pattern – 用于匹配每个字符串中的相似模式
escape_character – 可选的字符,用于指定转义前缀。默认情况下没有转义字符。
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
新的布尔列
-
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())#
返回一个布尔列,用于标识与给定模式中相应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个字符。如果指定了多个字符,则仅使用第一个字符。转义字符适用于所有模式。任何空字符串条目返回相应的空输出列条目。
- Throws:
cudf::logic_error – 如果
patterns包含空值或escape_character无效cudf::logic_error – 如果
patterns.size() != input.size()
- Parameters:
input – 此操作的字符串实例
patterns – 类似于在每个对应字符串中匹配的模式
escape_character – 可选的字符,用于指定转义前缀。默认情况下没有转义字符。
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
新的布尔列
-
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支持的模式详情,请参见Regex Features页面。
- Parameters:
input – 此操作的字符串实例
prog – 正则表达式程序实例
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
新的字符串列表列
-
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支持的模式详情,请参见Regex Features页面。
- Parameters:
input – 此操作的字符串实例
prog – 正则表达式程序实例
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
新的整数列
-
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())#