文件 | 函数
替换

文件

文件  cudf/strings/replace.hpp
 
文件  replace_re.hpp
 

函数

std::unique_ptr< columncudf::strings::replace (strings_column_view const &input, string_scalar const &target, string_scalar const &repl, cudf::size_type maxrepl=-1, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 将每个字符串中的目标字符串替换为指定的替换字符串。 更多...
 
std::unique_ptr< columncudf::strings::replace_slice (strings_column_view const &input, string_scalar const &repl=string_scalar(""), 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())
 此函数使用提供的 repl 字符串替换列中每个字符串在 [start,stop) 字符位置范围内的内容。 更多...
 
std::unique_ptr< columncudf::strings::replace_multiple (strings_column_view const &input, strings_column_view const &targets, strings_column_view const &repls, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 将匹配目标列表的子字符串替换为相应的替换字符串。 更多...
 
std::unique_ptr< columncudf::strings::replace_re (strings_column_view const &input, regex_program const &prog, string_scalar const &replacement=string_scalar(""), std::optional< size_type > max_replace_count=std::nullopt, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 对于每个字符串,使用提供的替换字符串替换匹配给定正则表达式的任何字符序列。 更多...
 
std::unique_ptr< columncudf::strings::replace_re (strings_column_view const &input, std::vector< std::string > const &patterns, strings_column_view const &replacements, regex_flags const flags=regex_flags::DEFAULT, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 对于每个字符串,使用 replacements 列中相应的字符串替换匹配给定模式的任何字符序列。 更多...
 
std::unique_ptr< columncudf::strings::replace_with_backrefs (strings_column_view const &input, regex_program const &prog, std::string_view replacement, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 对于每个字符串,使用反向引用替换模板替换匹配给定正则表达式的任何字符序列。 更多...
 

详细说明

函数文档

◆ replace()

std::unique_ptr<column> cudf::strings::replace ( strings_column_view const &  input,
string_scalar const &  target,
string_scalar const &  repl,
cudf::size_type  maxrepl = -1,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

将每个字符串中的目标字符串替换为指定的替换字符串。

此函数在列中的每个字符串中搜索目标字符串。如果找到,目标字符串将替换为输入字符串中的 repl 字符串。如果未找到,则输出条目仅为相应输入字符串的副本。

为 repl 指定空字符串将基本上移除在每个字符串中找到的目标字符串。

空字符串条目将返回空输出字符串条目。

示例
s = ["hello", "goodbye"]
r1 = replace(s,"o","OOO")
r1 现在是 ["hellOOO","gOOOOOOdbye"]
r2 = replace(s,"oo","")
r2 现在是 ["hello","gdbye"]
异常
cudf::logic_error如果 target 是一个空字符串。
参数
input用于此操作的字符串列
target在每个字符串中搜索的字符串
repl如果找到目标,则用于替换的字符串
maxrepl如果在输入字符串中多次出现 target,则最多替换的次数。默认值 -1 表示替换每个字符串中 target 的所有匹配项。
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
新的字符串列

◆ replace_multiple()

std::unique_ptr<column> cudf::strings::replace_multiple ( strings_column_view const &  input,
strings_column_view const &  targets,
strings_column_view const &  repls,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

将匹配目标列表的子字符串替换为相应的替换字符串。

对于 strings 中的每个字符串,在该字符串中搜索目标列表。如果找到目标字符串,则将其替换为 repls 列中相应的条目。替换在每个字符串中找到的所有匹配项。

此操作不使用正则表达式来匹配字符串中的目标。空字符串目标将被忽略。

空字符串条目将返回空输出字符串条目。

repls 参数可以选择包含一个字符串。在这种情况下,所有匹配的目标子字符串都将替换为该单个字符串。

示例
s = ["hello", "goodbye"]
tgts = ["e","o"]
repls = ["EE","OO"]
r1 = replace(s,tgts,repls)
r1 现在是 ["hEEllO", "gOOOOdbyEE"]
tgts = ["e","oo"]
repls = ["33",""]
r2 = replace(s,tgts,repls)
r2 现在是 ["h33llo", "gdby33"]
异常
cudf::logic_error如果 targets 和 repls 大小不同,除非 repls 是单个字符串。
cudf::logic_error如果 targets 或 repls 包含空条目。
参数
input用于此操作的字符串列
targets在每个字符串中搜索的字符串
repls对应于目标字符串的替换字符串
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
新的字符串列

◆ replace_re() [1/2]

std::unique_ptr<column> cudf::strings::replace_re ( strings_column_view const &  input,
regex_program const &  prog,
string_scalar const &  replacement = string_scalar(""),
std::optional< size_type max_replace_count = std::nullopt,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

对于每个字符串,使用提供的替换字符串替换匹配给定正则表达式的任何字符序列。

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

有关此 API 支持的模式的详细信息,请参阅正则表达式功能页面。

参数
input用于此操作的字符串实例
prog正则表达式程序实例
replacement用于替换每个字符串中匹配序列的字符串。默认为空字符串。
max_replace_count在每个字符串中替换匹配模式的最大次数。默认情况下,替换每个匹配的子字符串。
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
新的字符串列

◆ replace_re() [2/2]

std::unique_ptr<column> cudf::strings::replace_re ( strings_column_view const &  input,
std::vector< std::string > const &  patterns,
strings_column_view const &  replacements,
regex_flags const  flags = regex_flags::DEFAULT,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

对于每个字符串,使用 replacements 列中相应的字符串替换匹配给定模式的任何字符序列。

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

有关此 API 支持的模式的详细信息,请参阅正则表达式功能页面。

参数
input用于此操作的字符串实例
patterns要在每个字符串中搜索的正则表达式模式
replacements用于替换的字符串
flags用于解释模式中特殊字符的正则表达式标志
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
新的字符串列

◆ replace_slice()

std::unique_ptr<column> cudf::strings::replace_slice ( strings_column_view const &  input,
string_scalar const &  repl = string_scalar(""),
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() 
)

此函数使用提供的 repl 字符串替换列中每个字符串在 [start,stop) 字符位置范围内的内容。

空字符串条目将返回空输出字符串条目。

位置值是基于 0 的,表示位置 0 是每个字符串的第一个字符。

此函数可通过为 start 和 stop 指定相同的位置值来将字符串插入到特定位置。可通过为 start 和 stop 都指定 -1 来将 repl 字符串附加到每个字符串的末尾。

示例
s = ["abcdefghij","0123456789"]
r = s.replace_slice(s,2,5,"z")
r 现在是 ["abzfghij", "01z56789"]
异常
cudf::logic_error如果 start 大于 stop。
参数
input用于此操作的字符串列。
repl找到指定位置的替换字符串。默认为空字符串。
start将添加 repl 的起始位置。默认为 0,即第一个字符的位置。
stop用于替换的结束位置(不包含)。默认值 -1 指定每个字符串的末尾。
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
新的字符串列

◆ replace_with_backrefs()

std::unique_ptr<column> cudf::strings::replace_with_backrefs ( strings_column_view const &  input,
regex_program const &  prog,
std::string_view  replacement,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

对于每个字符串,使用反向引用替换模板替换匹配给定正则表达式的任何字符序列。

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

有关此 API 支持的模式的详细信息,请参阅正则表达式功能页面。

异常
cudf::logic_error如果 replacement 中的捕获索引值不在 0-99 范围内,以及如果索引超出模式中指定的组计数
参数
input用于此操作的字符串实例
prog正则表达式程序实例
replacement用于创建输出字符串的替换模板
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列的设备内存的设备内存资源
返回值
新的字符串列