字符串包含#

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 – 如果 patternescape_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 个字符。如果指定了多个字符,则只使用第一个字符。转义字符应用于所有模式。

任何空字符串条目返回相应的空输出列条目。

抛出:
参数:
  • 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 – 用于分配返回列的设备内存的设备内存资源

返回:

新的整数列