cprover
string_utils.cpp File Reference
#include "string_utils.h"
#include "exception_utils.h"
#include "invariant.h"
#include <cassert>
#include <cctype>
#include <algorithm>
+ Include dependency graph for string_utils.cpp:

Go to the source code of this file.

Functions

std::string strip_string (const std::string &s)
 Remove all whitespace characters from either end of a string. More...
 
void split_string (const std::string &s, char delim, std::vector< std::string > &result, bool strip, bool remove_empty)
 Given a string s, split into a sequence of substrings when separated by specified delimiter. More...
 
void split_string (const std::string &s, char delim, std::string &left, std::string &right, bool strip)
 
std::vector< std::string > split_string (const std::string &s, char delim, bool strip, bool remove_empty)
 
std::string trim_from_last_delimiter (const std::string &s, const char delim)
 
std::string escape (const std::string &s)
 Generic escaping of strings; this is not meant to be a particular programming language. More...
 
void replace_all (std::string &str, const std::string &from, const std::string &to)
 Replace all occurrences of a string inside a string. More...
 

Function Documentation

◆ escape()

std::string escape ( const std::string &  s)

Generic escaping of strings; this is not meant to be a particular programming language.

Definition at line 148 of file string_utils.cpp.

◆ replace_all()

void replace_all ( std::string &  str,
const std::string &  from,
const std::string &  to 
)

Replace all occurrences of a string inside a string.

Parameters
[out]strstring to search
fromstring to replace
tostring to replace with Copyright notice: Attributed to Gauthier Boaglio Source: https://stackoverflow.com/a/24315631/7501486 Used under MIT license

Definition at line 171 of file string_utils.cpp.

◆ split_string() [1/3]

std::vector<std::string> split_string ( const std::string &  s,
char  delim,
bool  strip,
bool  remove_empty 
)

Definition at line 126 of file string_utils.cpp.

◆ split_string() [2/3]

void split_string ( const std::string &  s,
char  delim,
std::string &  left,
std::string &  right,
bool  strip 
)

Definition at line 100 of file string_utils.cpp.

◆ split_string() [3/3]

void split_string ( const std::string &  s,
char  delim,
std::vector< std::string > &  result,
bool  strip,
bool  remove_empty 
)

Given a string s, split into a sequence of substrings when separated by specified delimiter.

Parameters
sThe string to split up
delimThe character to use as the delimiter
[out]resultThe sub strings. Must be empty.
stripIf true, strip_string will be used on each element, removing whitespace from the beginning and end of each element
remove_emptyIf true, all empty-string elements will be removed. This is applied after strip so whitespace only elements will be removed if both are set to true

Definition at line 49 of file string_utils.cpp.

◆ strip_string()

std::string strip_string ( const std::string &  s)

Remove all whitespace characters from either end of a string.

Whitespace in the middle of the string is left unchanged

Parameters
sthe string to strip
Returns
The stripped string

Definition at line 21 of file string_utils.cpp.

◆ trim_from_last_delimiter()

std::string trim_from_last_delimiter ( const std::string &  s,
const char  delim 
)

Definition at line 137 of file string_utils.cpp.