Re: Remove Characters from basic_string
On May 15, 12:39 am, Victor Bazarov <v.Abaza...@comAcast.net> wrote:
Andy Champ wrote:
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
Others have supplied you with C++ code, but can I ask you to feed it
some test cases, all rather well known people:
Mao Tse-tung
H.R.H Charles Philip Arthur George
Aren't you missing the last name here? Or the [list of] titles?
More importantly, in this respect: the input isn't in the
required format. It should be "Tse-tung, M.", and "Winsor,
C.P.A.G". (I think. The original poster didn't really define
it precisely. But I don't think he allows titles.)
Juan Carlos Alfonso V=EDctor Mar=EDa de Borb=F3n y Borb=F3n-Dos
Sicilias
Jesus
Missing the last name again?
Historical persons could be a general problem, since many of
them don't have last names (Clovis, Charlemagne, Alexander the
Great).
Saddam Hussein Abd al-Majid al-Tikriti
I have two middle initials and it's amazing how much
software gets it wrong...
"Wrong" in what way?
Probably in many different ways:-).
I am not arguing with your point that any software should be
tested. I am just making the point that the data the OP had
may have been required to be in a particular form, like
Christ, J.
Windsor, H.R.H.C.P.A.G
Sicilias, J.C.A.V.M.d.B.y.B.D.
You know how they write the names of rock groups, "Beatles,
The". There is no need to overcomplicate the OP's task.
Actually, I think that Andy has raised several important points:
The input format really does need to be specified more
precisely. While his examples obviously don't conform to
it, there are a lot of cases where it's not really clear
what should be accepted. Before writing a single line of
code, it's important to define what it should do.
The test suite must contain all of the "special" cases.
And probably the most important: think large. I have no real
problem with my name, but I consistently run into problems with
software requiring a telephone number in the format 3-3-4, or a
state or province in the address (including on forms with
pull-down menus for the country which inlude France, Germany,
etc.).
Speaking of getting it wrong, how many folks in US actually
think that "Santa" is the first name of that Christmas gift
delivery dude, and "Claus" is his last name?...
In the United States, his first name is Santa, and his last name
Claus. Of course, if they still wrote it "Saint Nicolas", the
situation would be different.
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34