OpenNN
Open-source neural networks library
Loading...
Searching...
No Matches
string_utilities.h
Go to the documentation of this file.
1// OpenNN: Open Neural Networks Library
2// www.opennn.net
3//
4// S T R I N G S
5//
6// Artificial Intelligence Techniques, SL
7// artelnics artelnics.com
8
9#pragma once
10
11#include "pch.h"
12
13namespace opennn
14{
15
16 void prepare_line(string&);
17 Index count_non_empty_lines(const filesystem::path&);
18
19 Index count_tokens(const string&, const string&);
20
21 vector<string> get_tokens(const string&, const string&);
22
23 vector<string> tokenize(const string&);
24
25 vector<string> convert_string_vector(const vector<vector<string>>&, const string&);
26
27 VectorR to_type_vector(const string&, const string&);
28
29 bool is_numeric_string(const string&);
30 bool is_date_time_string(const string&);
31
33
34 time_t date_to_timestamp(const string&, Index = 0, const DateFormat& format = AUTO);
35
36 void replace_all_appearances(string&, const string&, const string&);
37 void replace_all_word_appearances(string&, const string&, const string&);
38
39 void trim(string&);
40 void normalize_csv_line(string&);
41 void erase(string&, char);
42
43 void replace_first_and_last_char_with_missing_label(string&, char, const string&, const string&);
44
45 string get_trimmed(const string&);
46
47 bool has_numbers(const vector<string>&);
48
49 void replace(string&, const string&, const string&);
50 void replace_double_char_with_label(string&, const string&, const string&);
51 void replace_substring_within_quotes(string&, const string&, const string&);
52
53 void display_progress_bar(const int&, const int&);
54
55 string get_time(float);
56
57 string get_first_word(const string&);
58
59 // Vector/tensor string conversion
60
61 template <typename T>
62 string vector_to_string(const vector<T>& values, const string& separator = " ")
63 {
64 ostringstream buffer;
65
66 for (size_t i = 0; i < values.size(); ++i)
67 {
68 buffer << values[i];
69 if (i < values.size() - 1)
70 buffer << separator;
71 }
72
73 return buffer.str();
74 }
75
76 template <typename Derived>
77 inline string vector_to_string(const Eigen::DenseBase<Derived>& values, const string& separator = " ")
78 {
79 ostringstream buffer;
80 for (Index i = 0; i < values.size(); ++i) buffer << values(i) << separator;
81 return buffer.str();
82 }
83
84 void string_to_vector(const string& input, VectorR& values);
85
86 template <typename T, size_t Rank>
87 string tensor_to_string(const TensorR<Rank>& values, const string& separator = " ")
88 {
89 ostringstream buffer;
90
91 for (Index i = 0; i < values.size(); ++i)
92 buffer << values(i) << separator;
93
94 return buffer.str();
95 }
96
97 template <typename T, size_t Rank>
98 void string_to_tensor(const string& input, TensorR<Rank>& values)
99 {
100 istringstream stream(input);
101 T value;
102 Index i = 0;
103
104 while (stream >> value)
105 values(i++) = value;
106 }
107
108 bool contains(const vector<string>&, const string&);
109}
110
111// OpenNN: Open Neural Networks Library.
112// Copyright(C) 2005-2026 Artificial Intelligence Techniques, SL.
113// Licensed under the GNU Lesser General Public License v2.1 or later.
Definition adaptive_moment_estimation.h:19
VectorR to_type_vector(const string &, const string &)
void display_progress_bar(const int &, const int &)
string tensor_to_string(const TensorR< Rank > &values, const string &separator=" ")
Definition string_utilities.h:87
void normalize_csv_line(string &)
Index count_tokens(const string &, const string &)
void prepare_line(string &)
void replace_substring_within_quotes(string &, const string &, const string &)
bool contains(const vector< string > &, const string &)
string get_first_word(const string &)
Matrix< float, Dynamic, 1 > VectorR
Definition neural_network.h:156
void erase(string &, char)
Index count_non_empty_lines(const filesystem::path &)
vector< string > get_tokens(const string &, const string &)
void string_to_tensor(const string &input, TensorR< Rank > &values)
Definition string_utilities.h:98
string vector_to_string(const vector< T > &values, const string &separator=" ")
Definition string_utilities.h:62
bool is_date_time_string(const string &)
string get_time(float)
bool is_numeric_string(const string &)
void trim(string &)
void replace_first_and_last_char_with_missing_label(string &, char, const string &, const string &)
void replace_double_char_with_label(string &, const string &, const string &)
vector< string > tokenize(const string &)
time_t date_to_timestamp(const string &, Index=0, const DateFormat &format=AUTO)
Tensor< float, Rank, Layout|AlignedMax > TensorR
Definition neural_network.h:169
vector< string > convert_string_vector(const vector< vector< string > > &, const string &)
string get_trimmed(const string &)
void replace_all_appearances(string &, const string &, const string &)
void replace_all_word_appearances(string &, const string &, const string &)
bool has_numbers(const vector< string > &)
void string_to_vector(const string &input, VectorR &values)
DateFormat
Definition string_utilities.h:32
@ YMD
Definition string_utilities.h:32
@ AUTO
Definition string_utilities.h:32
@ DMY
Definition string_utilities.h:32
@ MDY
Definition string_utilities.h:32
void replace(string &, const string &, const string &)