Re: Interating over the characters in a string
From: Nick Malik (nickmalik_at_hotmail.nospam.com)
Date: 09/23/04
- Next message: John: "Where can I find a design pattern for paging through a list?"
- Previous message: Jon Skeet [C# MVP]: "Re: Interating over the characters in a string"
- In reply to: Jon Skeet [C# MVP]: "Re: Interating over the characters in a string"
- Next in thread: Carlo Razzeto: "Re: Interating over the characters in a string"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 23 Sep 2004 12:55:12 GMT
Hi Carlo,
Jon is right... your code, as posted, will convert ("Fubar") to (Fuba)
I, too, am confused by the error you are getting.
Also, when parsing, beware of simple solutions. In the CSV format, a
double-quote character can be embedded within a string. I believe it
appears twice, as in:
"The word ""misspelled"" is often spelled incorrectly"
(Not 100% certain about that, but my memory tells me that this is the case.
Also, commas can occur in the quoted string too, so Split() may not work
very well either.)
Good Luck,
--- Nick
"Jon Skeet [C# MVP]" <skeet@pobox.com> wrote in message
news:MPG.1bbcd392eb51b3598b4d9@msnews.microsoft.com...
> Carlo Razzeto <crazzeto@hotmail.com> wrote:
> > Hello, I have a question in regards to .Net string maniplulation. I have
a
> > question in regards to interating over individual characters in a
string.
> > The problem is I have a CSV parser that will successfully parse out
quoted
> > csv files, the only issue is it will leave the leading and ending quotes
in
> > tact. Before I go on I do realize since it's a CSV I could do
> > stringval.replace( "\"", "" ); but I wanted to take the chance to learn
out
> > to iterate over string values. Anyway, the problem is what I had written
> > originally to do this was:
> >
> > if ( stringval[0] == '"' ) {
> > stringval = stringval.substring( 1, ( stringval.length - 1 ) );
> > }
> > if( stringval[( stringval.length - 1 )] == '"' ) {
> > stringval = stringval.substring( 0, ( stringval.length - 2 ) );
> > }
> >
> > I wasn't stripping off the last " ever and I realize now that the
problem
> > has to do with .Net storing strings in UNICODE, which allows for
character
> > pairs to reprisent a single character. So my question here is, how does
one
> > iterate over the character values in a string and replace it's value if
> > neccessary?
>
> Although Unicode (UTF-16 in particular) allows surrogate pairs, I don't
> think that's the real problem. What exactly are you seeing?
>
> Note that your code as posted above will remove the character *before*
> the final " as well.
>
> --
> Jon Skeet - <skeet@pobox.com>
> http://www.pobox.com/~skeet
> If replying to the group, please do not mail me too
- Next message: John: "Where can I find a design pattern for paging through a list?"
- Previous message: Jon Skeet [C# MVP]: "Re: Interating over the characters in a string"
- In reply to: Jon Skeet [C# MVP]: "Re: Interating over the characters in a string"
- Next in thread: Carlo Razzeto: "Re: Interating over the characters in a string"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|