Home All Groups Group Topic Archive Search About

single line string maninuplation substring, trim, indexof ?

Author
11 Nov 2006 12:14 PM
Jason
I have a string that looks like this?

ihelloworld_zzz_yyy

In a single vb.net line, I want to remove the frist character and
anything after and including the first "_"

resulting in :

helloworld

I've been  trying things like this:

Dim cleanname = c.ID.Remove(1).Substring(0, c.ID.IndexOf("_"c))

Dim cleanname = c.ID.subsrting(1,c.id.Length).Substring(0,
c.ID.IndexOf("_"c))

the error I get is that the index is out of bounds becasue it's a
substring of a substring and the index I guess has changed.

thanks.

Author
11 Nov 2006 1:19 PM
Cor Ligthert [MVP]
Jason,

Without testing,

myNewString as string = "ihelloworld_zzz_yyy".Substring(1,10)

I hope this goes,

Cor

Show quoteHide quote
>
> In a single vb.net line, I want to remove the frist character and
> anything after and including the first "_"
>
> resulting in :
>
> helloworld
>
> I've been  trying things like this:
>
> Dim cleanname = c.ID.Remove(1).Substring(0, c.ID.IndexOf("_"c))
>
> Dim cleanname = c.ID.subsrting(1,c.id.Length).Substring(0,
> c.ID.IndexOf("_"c))
>
> the error I get is that the index is out of bounds becasue it's a
> substring of a substring and the index I guess has changed.
>
> thanks.
>
Author
11 Nov 2006 1:49 PM
Jason
sorry, the helloworld string is an example and might be longer or
shorter.


Cor Ligthert [MVP] wrote:
Show quoteHide quote
> Jason,
>
> Without testing,
>
> myNewString as string = "ihelloworld_zzz_yyy".Substring(1,10)
>
> I hope this goes,
>
> Cor
>
> >
> > In a single vb.net line, I want to remove the frist character and
> > anything after and including the first "_"
> >
> > resulting in :
> >
> > helloworld
> >
> > I've been  trying things like this:
> >
> > Dim cleanname = c.ID.Remove(1).Substring(0, c.ID.IndexOf("_"c))
> >
> > Dim cleanname = c.ID.subsrting(1,c.id.Length).Substring(0,
> > c.ID.IndexOf("_"c))
> >
> > the error I get is that the index is out of bounds becasue it's a
> > substring of a substring and the index I guess has changed.
> >
> > thanks.
> >
Author
11 Nov 2006 3:14 PM
rowe_newsgroups
Try:

      Dim str As String = "ihelloworld_zzz_yyy"

        str = str.Substring(1, str.IndexOf("_") - 1)

Thanks,

Seth Rowe


Jason wrote:
Show quoteHide quote
> sorry, the helloworld string is an example and might be longer or
> shorter.
>
>
> Cor Ligthert [MVP] wrote:
> > Jason,
> >
> > Without testing,
> >
> > myNewString as string = "ihelloworld_zzz_yyy".Substring(1,10)
> >
> > I hope this goes,
> >
> > Cor
> >
> > >
> > > In a single vb.net line, I want to remove the frist character and
> > > anything after and including the first "_"
> > >
> > > resulting in :
> > >
> > > helloworld
> > >
> > > I've been  trying things like this:
> > >
> > > Dim cleanname = c.ID.Remove(1).Substring(0, c.ID.IndexOf("_"c))
> > >
> > > Dim cleanname = c.ID.subsrting(1,c.id.Length).Substring(0,
> > > c.ID.IndexOf("_"c))
> > >
> > > the error I get is that the index is out of bounds becasue it's a
> > > substring of a substring and the index I guess has changed.
> > >
> > > thanks.
> > >
Author
11 Nov 2006 4:11 PM
Mattias Sjögren
>In a single vb.net line,

Why is the number of lines important to you? I would think readability
and correctness mattered more.


Mattias

--
Mattias Sjögren [C# MVP]  mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.