Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
April 27, 2011 How to compare strings against static char arrays? | ||||
---|---|---|---|---|
| ||||
E.g.: void main() { char[10] blue = "blue "; assert(blue == "blue"); } Obviously these two are different, but what function can I use to compare strings in situations where whitespace is the delimiter? |
April 27, 2011 Re: How to compare strings against static char arrays? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | "Andrej Mitrovic" <none@none.none> wrote in message news:ip7phj$28v5$1@digitalmars.com... > E.g.: > > void main() > { > char[10] blue = "blue "; > assert(blue == "blue"); > } > > Obviously these two are different, but what function can I use to compare strings in situations where whitespace is the delimiter? assert(strip(blue) == "blue"); Is that what you need or did I misunderstand? |
April 27, 2011 Re: How to compare strings against static char arrays? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | Nick Sabalausky Wrote:
> "Andrej Mitrovic" <none@none.none> wrote in message news:ip7phj$28v5$1@digitalmars.com...
> > E.g.:
> >
> > void main()
> > {
> > char[10] blue = "blue ";
> > assert(blue == "blue");
> > }
> >
> > Obviously these two are different, but what function can I use to compare strings in situations where whitespace is the delimiter?
>
> assert(strip(blue) == "blue");
>
> Is that what you need or did I misunderstand?
>
>
Yup. blue[].strip (slice is needed).
And here I was desperately trying to find the trim() function. Thanks!
|
April 27, 2011 Re: How to compare strings against static char arrays? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | "Andrej Mitrovic" <none@none.none> wrote in message news:ip7pqt$29hc$1@digitalmars.com... > Nick Sabalausky Wrote: > >> "Andrej Mitrovic" <none@none.none> wrote in message news:ip7phj$28v5$1@digitalmars.com... >> > E.g.: >> > >> > void main() >> > { >> > char[10] blue = "blue "; >> > assert(blue == "blue"); >> > } >> > >> > Obviously these two are different, but what function can I use to >> > compare >> > strings in situations where whitespace is the delimiter? >> >> assert(strip(blue) == "blue"); >> >> Is that what you need or did I misunderstand? >> >> > > Yup. blue[].strip (slice is needed). > > And here I was desperately trying to find the trim() function. Thanks! Yea, I keep trying to do trim(), too. Hard habit to break :) |
April 27, 2011 Re: How to compare strings against static char arrays? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | > "Andrej Mitrovic" <none@none.none> wrote in message news:ip7pqt$29hc$1@digitalmars.com...
>
> > Nick Sabalausky Wrote:
> >> "Andrej Mitrovic" <none@none.none> wrote in message news:ip7phj$28v5$1@digitalmars.com...
> >>
> >> > E.g.:
> >> >
> >> > void main()
> >> > {
> >> >
> >> > char[10] blue = "blue ";
> >> > assert(blue == "blue");
> >> >
> >> > }
> >> >
> >> > Obviously these two are different, but what function can I use to
> >> > compare
> >> > strings in situations where whitespace is the delimiter?
> >>
> >> assert(strip(blue) == "blue");
> >>
> >> Is that what you need or did I misunderstand?
> >
> > Yup. blue[].strip (slice is needed).
> >
> > And here I was desperately trying to find the trim() function. Thanks!
>
> Yea, I keep trying to do trim(), too. Hard habit to break :)
That's one of those functions that is quite common among many languages but is often not called quite the same thing. So, if you're used to a particular name, and the language chose another, then you're constantly thrown off by it until you use it enough that it sticks. But if they'd picked the name that you're used to, then someone else would have been constantly thrown off instead, since they were used to languages/libraries that used the first name. So, you can't really win.
- Jonathan M Davis
|
April 27, 2011 Re: How to compare strings against static char arrays? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M Davis | "Jonathan M Davis" <jmdavisProg@gmx.com> wrote in message news:mailman.3694.1303869505.4748.digitalmars-d-learn@puremagic.com... >> "Andrej Mitrovic" <none@none.none> wrote in message news:ip7pqt$29hc$1@digitalmars.com... >> >> > Nick Sabalausky Wrote: >> >> "Andrej Mitrovic" <none@none.none> wrote in message news:ip7phj$28v5$1@digitalmars.com... >> >> >> >> > E.g.: >> >> > >> >> > void main() >> >> > { >> >> > >> >> > char[10] blue = "blue "; >> >> > assert(blue == "blue"); >> >> > >> >> > } >> >> > >> >> > Obviously these two are different, but what function can I use to >> >> > compare >> >> > strings in situations where whitespace is the delimiter? >> >> >> >> assert(strip(blue) == "blue"); >> >> >> >> Is that what you need or did I misunderstand? >> > >> > Yup. blue[].strip (slice is needed). >> > >> > And here I was desperately trying to find the trim() function. Thanks! >> >> Yea, I keep trying to do trim(), too. Hard habit to break :) > > That's one of those functions that is quite common among many languages > but is > often not called quite the same thing. So, if you're used to a particular > name, and the language chose another, then you're constantly thrown off by > it > until you use it enough that it sticks. But if they'd picked the name that > you're used to, then someone else would have been constantly thrown off > instead, since they were used to languages/libraries that used the first > name. > So, you can't really win. > Yup, absolutely. For me, until about a year ago, I had spent a lot of time with Tango, which uses "trim", and I do a lot of work in Haxe which IIRC also uses "trim", so that's why my brain still keeps reaching for "trim". |
Copyright © 1999-2021 by the D Language Foundation