On Thu, Mar 03, 2022 at 08:23:14PM +0000, forkit via Digitalmars-d-learn wrote:
> On Thursday, 3 March 2022 at 19:28:36 UTC, matheus wrote:
> > 
> > I'm a simple man who uses D with the old C mentality:
> > 
> > import std.stdio;
> > 
> > void main(){
> >     string s, str = "4A0B1de!2C9~6";
> >     foreach(i;str){
> >         if(i < '0' || i > '9'){ continue; }
> >         s ~= i;
> >     }
> >     writeln("Result: ", s);
> > }
> > 
> > Result: 401296
> > 
> > Matheus.
> 
> mmm..but we no longer live in simple times ;-)
> 
> (i.e. unicode)

------
void main() {
        string s = "blahblah123blehbleh456bluhbluh";
        auto result = s.filter!(ch => ch.isDigit).to!int;
        assert(result == 123456);
}
------

Problem solved.  Why write 6 lines when 3 will do?


T

-- 
People tell me that I'm skeptical, but I don't believe them.

Reply via email to