www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - How to compare strings against static char arrays?

reply Andrej Mitrovic <none none.none> writes:
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?
Apr 26 2011
parent reply "Nick Sabalausky" <a a.a> writes:
"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?
Apr 26 2011
parent reply Andrej Mitrovic <none none.none> writes:
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!
Apr 26 2011
next sibling parent "Nick Sabalausky" <a a.a> writes:
"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 :)
Apr 26 2011
prev sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
 "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
Apr 26 2011
parent "Nick Sabalausky" <a a.a> writes:
"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".
Apr 26 2011