ICAROUS
All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Modules Pages
string_util.h
1/*
2 * string_util.h
3 *
4 * Contact: Jeff Maddalon (j.m.maddalon@nasa.gov), Cesar Munoz, George Hagen
5 *
6 * Copyright (c) 2011-2020 United States Government as represented by
7 * the National Aeronautics and Space Administration. No copyright
8 * is claimed in the United States under Title 17, U.S.Code. All Other
9 * Rights Reserved.
10 */
11
12#ifndef STRING_UTIL_H
13#define STRING_UTIL_H
14
15#include "string_util.h"
16#include <string>
17#include <sstream>
18#include <vector>
19
20/*
21 * String manipulation & parsing utility functions.
22 *
23 */
24
25namespace larcfm {
26
29 std::vector<std::string> split(const std::string& str,const std::string& delimiters);
30
31
33 std::vector<std::string> split_empty(const std::string& str,const std::string& delimiters);
34
36 std::vector<std::string> split_string_empty(const std::string& str,const std::string& delimiter);
37
39 std::vector<std::string> split_regex(const std::string& str,const std::string& delimiters);
40
41 bool matches(const std::string& s, const std::string& rgx_str);
42
43
46 std::string substring(const std::string& s, int begin, int end);
47
50 std::string substring(const std::string& s, int begin);
51
53 void trim(std::string& s,const std::string& drop = " \t\r\n");
54
56 std::string trimCopy(const std::string& s,const std::string& drop = " \t\r\n");
57
59 std::string toLowerCase(const std::string& str);
60
62 std::string toUpperCase(const std::string& str);
63
65 bool equals(const std::string&, const std::string&);
66
68 bool equalsIgnoreCase(const std::string&, const std::string&);
69
71 void replace(std::string& s, char c1, char c2);
72
74 std::string replace(const std::string& s, const std::string& s1, const std::string& s2);
75
77 bool contains(const std::vector<std::string>& v, const std::string& s);
78
80 bool contains(const std::string& str, const std::string& sub);
81
83 bool startsWith(const std::string& str, const std::string& prefix);
84
86 bool endsWith(const std::string& str, const std::string& suffix);
87
89 int parseInt(const std::string& str);
90
91}
92
93#endif // STRING_UTIL_H
Definition: ACCoRDConfig.h:16
std::vector< std::string > split_regex(const std::string &str, const std::string &delimiters)
Definition: string_util.cpp:133
void trim(std::string &s, const std::string &drop=" \t\r\n")
void replace(std::string &s, char c1, char c2)
Definition: string_util.cpp:266
bool equals(const std::string &, const std::string &)
std::vector< std::string > split_empty(const std::string &str, const std::string &delimiters)
bool contains(const std::vector< std::string > &v, const std::string &s)
Definition: string_util.cpp:283
bool startsWith(const std::string &str, const std::string &prefix)
Definition: string_util.cpp:294
bool equalsIgnoreCase(const std::string &, const std::string &)
bool endsWith(const std::string &str, const std::string &suffix)
Definition: string_util.cpp:298
std::string trimCopy(const std::string &s, const std::string &drop=" \t\r\n")
std::string substring(const std::string &s, int begin, int end)
std::vector< std::string > split(const std::string &str, const std::string &delimiters)
std::string toLowerCase(const std::string &str)
std::string toUpperCase(const std::string &str)
int parseInt(const std::string &str)
Definition: string_util.cpp:303
std::vector< std::string > split_string_empty(const std::string &str, const std::string &delimiter)