字符串查找#
- group strings_find
函数
-
std::unique_ptr<column> find(strings_column_view const &input, string_scalar const &target, size_type start = 0, size_type stop = -1, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回一个字符位置值的列,其中目标字符串在提供的列的每个字符串中首次出现。
如果未找到
target,则输出列中的该行条目返回 -1。目标字符串在字符位置范围 [start, stop) 内的每个字符串中进行搜索。如果 stop 参数为 -1,则每个字符串的末尾将成为搜索中包含的最终位置。
任何空字符串条目返回相应的空输出列条目。
- Throws:
cudf::logic_error – 如果起始位置大于停止位置。
- Parameters:
input – 此操作的字符串实例
target – 在每个字符串中搜索的UTF-8编码字符串
start – 搜索中包含的第一个字符位置
stop – 搜索中包含的最后一个位置(不包含)。默认值为-1,将搜索到字符串的末尾。
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
带有字符位置值的新整数列
-
std::unique_ptr<column> rfind(strings_column_view const &input, string_scalar const &target, size_type start = 0, size_type stop = -1, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回一个字符位置值的列,其中目标字符串是从每个字符串的末尾开始搜索时首次找到的。
如果未找到
target,则该条目返回 -1。目标字符串在字符位置范围 [start, stop) 内的每个字符串中进行搜索。如果 stop 参数为 -1,则每个字符串的末尾将成为搜索中包含的最终位置。
任何空字符串条目返回相应的空输出列条目。
- Throws:
cudf::logic_error – 如果起始位置大于停止位置。
- Parameters:
input – 此操作的字符串实例
target – 在每个字符串中搜索的UTF-8编码字符串
start – 搜索中包含的第一个位置
stop – 搜索中包含的最后一个位置(不包含)。默认值为-1,将从字符串的末尾开始搜索。
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
带有字符位置值的新整数列
-
std::unique_ptr<column> find(strings_column_view const &input, strings_column_view const &target, size_type start = 0, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回一个字符位置值的列,其中目标字符串首次出现在提供列的相应字符串中。
第
i行的输出是目标字符串在第i行输入字符串中从字符位置start开始的位置。如果在输入字符串中未找到目标,则输出列中该行条目返回 -1。任何空输入或目标条目将返回相应的空输出列条目。
- Throws:
cudf::logic_error – 如果
input.size() != target.size()- Parameters:
input – 要搜索的字符串
target – 在
input中搜索的字符串start – 搜索中包含的第一个字符位置
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
带有字符位置值的新整数列
-
std::unique_ptr<column> contains(strings_column_view const &input, string_scalar const &target, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回每行字符串的布尔值列,其中true表示在提供的列中找到了目标字符串。
如果在字符串中未找到
target,则输出列中的该条目将返回false。如果target为空字符串,则输出列中的所有非空条目将返回true。任何空字符串条目在输出列中返回相应的空条目。
- Parameters:
input – 此操作的字符串实例
target – 在每个字符串中搜索的UTF-8编码字符串
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
新的 BOOL8 列
-
std::unique_ptr<column> contains(strings_column_view const &input, strings_column_view const &targets, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回每行字符串的布尔值列,其中true表示在提供的列中找到了相应的目标字符串。
如果
stringtargets[i]在input[i]中找到,则output[i] = true否则output[i] = false。 如果target[i]是空字符串,则返回output[i]为true。 如果target[i]为null,则返回output[i]`为false。任何空字符串条目在输出列中返回相应的空条目。
- Throws:
cudf::logic_error – 如果
strings.size() != targets.size().- Parameters:
input – 此操作的字符串实例
targets – 要在
strings中逐行检查的目标字符串列stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
新的 BOOL8 列
-
std::unique_ptr<column> starts_with(strings_column_view const &input, string_scalar const &target, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回每行字符串的布尔值列,其中true表示在提供的列中该字符串的开头找到了目标字符串。
如果在字符串的开头没有找到
target,则在输出列的该行条目中设置为false。如果target是一个空字符串,则在输出列中的所有非空条目中返回true。任何空字符串条目在输出列中返回相应的空条目。
- Parameters:
input – 此操作的字符串实例
target – 在每个字符串中搜索的UTF-8编码字符串
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
新的 type_id::BOOL8 列。
-
std::unique_ptr<column> starts_with(strings_column_view const &input, strings_column_view const &targets, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回每行字符串的布尔值列,其中true表示在提供的列中该字符串的开头找到了目标列中的相应字符串。
如果在
strings[i]的字符串开头未找到targets[i],则在输出列的该行条目中设置为false。如果targets[i]是空字符串,则在输出列的相应条目中返回true。targets中的任何空字符串条目会在输出列中返回相应的空条目。- Throws:
cudf::logic_error – 如果
strings.size() != targets.size().- Parameters:
input – 此操作的字符串实例
targets – 此操作的字符串实例
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
新的 BOOL8 列
-
std::unique_ptr<column> ends_with(strings_column_view const &input, string_scalar const &target, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回每行字符串的布尔值列,其中true表示在提供的列中该字符串的末尾找到了目标字符串。
如果在字符串的末尾未找到
target,则输出列中的该行条目设置为false。如果target是空字符串,则输出列中的所有非空条目返回true。任何空字符串条目在输出列中返回相应的空条目。
- Parameters:
input – 此操作的字符串实例
target – 在每个字符串中搜索的UTF-8编码字符串
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
新的 BOOL8 列
-
std::unique_ptr<column> ends_with(strings_column_view const &input, strings_column_view const &targets, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
返回每行字符串的布尔值列,其中true表示在提供的列中该字符串的末尾找到了目标列中的相应字符串。
如果在
strings[i]的字符串末尾未找到targets[i],则在输出列的该行条目中设置为false。如果targets[i]是空字符串,则在输出列的相应条目中返回true。在
targets中的任何空字符串条目将在输出列中返回相应的空条目。- Throws:
cudf::logic_error – 如果
strings.size() != targets.size().- Parameters:
input – 此操作的字符串实例
targets – 此操作的字符串实例
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
新的 BOOL8 列
-
std::unique_ptr<table> contains_multiple(strings_column_view const &input, strings_column_view const &targets, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::mr::device_memory_resource *mr = rmm::mr::get_current_device_resource())#
在提供的列中的每个字符串中搜索给定的目标字符串。
结果表中的每一列对应于相同序数的目标字符串的结果。即第0列是第0个目标字符串的BOOL8列结果,第1列是第1个目标字符串的结果,依此类推。
如果在字符串中未找到目标,则输出列中的该条目返回false。如果目标为空字符串,则输出列中的所有非空条目返回true。
任何空输入字符串在输出列中返回相应的空条目。
input = ["a", "b", "c"] targets = ["a", "c"] output is a table with two boolean columns: column 0: [true, false, false] column 1: [false, false, true]
- Throws:
std::invalid_argument – 如果
targets为空或包含空值- Parameters:
input – 此操作的字符串实例
targets – 在
input中的每个字符串中搜索的UTF-8编码字符串stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
BOOL8 列的表
-
std::unique_ptr<column> find_multiple(strings_column_view const &input, strings_column_view const &targets, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
在提供的列中的每个字符串中搜索给定的目标字符串,并返回找到目标的位置。
输出列的大小为
input.size()。输出列的每一行的大小为targets.size()。output[i,j]包含targets[j]在input[i]中的位置Example: s = ["abc", "def"] t = ["a", "c", "e"] r = find_multiple(s, t) r is now {[ 0, 2,-1], // for "abc": "a" at pos 0, "c" at pos 2, "e" not found [-1,-1, 1 ]} // for "def": "a" and "b" not found, "e" at pos 1- Throws:
std::invalid_argument – 如果
targets为空或包含空值- Parameters:
input – 此操作的字符串实例
targets – 在每个字符串中搜索的字符串
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
列出带有字符位置值的列
-
std::unique_ptr<column> find(strings_column_view const &input, string_scalar const &target, size_type start = 0, size_type stop = -1, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#