libcudf  24.04.00
replace_re.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019-2023, NVIDIA CORPORATION.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #pragma once
17 
18 #include <cudf/column/column.hpp>
19 #include <cudf/scalar/scalar.hpp>
20 #include <cudf/strings/regex/flags.hpp>
22 
23 #include <rmm/mr/device/per_device_resource.hpp>
24 
25 #include <optional>
26 
27 namespace cudf {
28 namespace strings {
29 
30 struct regex_program;
31 
56 std::unique_ptr<column> replace_re(
57  strings_column_view const& input,
58  regex_program const& prog,
59  string_scalar const& replacement = string_scalar(""),
60  std::optional<size_type> max_replace_count = std::nullopt,
61  rmm::cuda_stream_view stream = cudf::get_default_stream(),
62  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
63 
80 std::unique_ptr<column> replace_re(
81  strings_column_view const& input,
82  std::vector<std::string> const& patterns,
83  strings_column_view const& replacements,
84  regex_flags const flags = regex_flags::DEFAULT,
85  rmm::cuda_stream_view stream = cudf::get_default_stream(),
86  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
87 
106 std::unique_ptr<column> replace_with_backrefs(
107  strings_column_view const& input,
108  regex_program const& prog,
109  std::string_view replacement,
110  rmm::cuda_stream_view stream = cudf::get_default_stream(),
111  rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource());
112 
113 } // namespace strings
114 } // namespace cudf
An owning class to represent a string in device memory.
Definition: scalar.hpp:429
Given a column-view of strings type, an instance of this class provides a wrapper on this compound co...
Class definition for cudf::column.
rmm::cuda_stream_view const get_default_stream()
Get the current default stream.
regex_flags
Regex flags.
Definition: flags.hpp:35
@ DEFAULT
default
Definition: flags.hpp:36
std::unique_ptr< column > 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::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
For each string, replaces any character sequence matching the given regex using the replacement templ...
std::unique_ptr< column > 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::mr::device_memory_resource *mr=rmm::mr::get_current_device_resource())
For each string, replaces any character sequence matching the given regex with the provided replaceme...
cuDF interfaces
Definition: aggregation.hpp:34
Class definitions for cudf::scalar.
Class definition for cudf::strings_column_view.
Regex program class.