Gå til innhold

Rekne ut en substring til meg?


Anbefalte innlegg

Kan noen finne substring(43,45) av: 01100110011010010110111001100100010111110110000101101110011011110111010001101000011001010111001001011111011101110110000101111001

 

Og substring (3,6) av:#000000

 

Eller fortelle meg kordan eg selv kan finne den ut?

 

På forhånd Takk :)

Endret av QBab
Lenke til kommentar
Videoannonse
Annonse

Hvorfor i alle dager skal folk gidde å bruke tid på å hjelpe deg med oppgaver du er for lat til å gjøre selv.

Det du bør spørre etter er hjelp til selv hjelp og det har mariyo gitt deg. Hvis du da ikke skjønte noen av infoen som mariyo ga deg så still spørsmål om det da. Ikke forvent at andre skal gjøre arbeidet for deg.

Lenke til kommentar
Hvorfor i alle dager skal folk gidde å bruke tid på å hjelpe deg med oppgaver du er for lat til å gjøre selv.

Det du bør spørre etter er hjelp til selv hjelp og det har mariyo gitt deg. Hvis du da ikke skjønte noen av infoen som mariyo ga deg så still spørsmål om det da. Ikke forvent at andre skal gjøre arbeidet for deg.

7097307[/snapback]

 

 

Eller hva med å bare paste teksten inn i notepad, skru av wrapping og skru på statusbar. Så står jo linje og kolonne nederst...

Lenke til kommentar

Takk for så mangen koslige svar da(meget sarkastisk tonefall) :hrm:

Saken er den at eg har ikke peiling på programmering, heile greia er litt komplisert.

 

Eg spurte jo bare om det fanst en kalkulator et sted som rekner det ut automatisk.

Søkte litt på google, men fant ikke noe.

 

Og viss dere ikke har noe fornuftig og komme med så trenger dere slett ikke svare.

Herregud.

Lenke til kommentar
Takk for så mangen koslige svar da(meget sarkastisk tonefall) :hrm:

Saken er den at eg har ikke peiling på programmering, heile greia er litt komplisert.

 

Eg spurte jo bare om det fanst en kalkulator et sted som rekner det ut automatisk.

Søkte litt på google, men fant ikke noe.

 

Og viss dere ikke har noe fornuftig og komme med så trenger dere slett ikke svare.

Herregud.

7097627[/snapback]

 

Det er ikke noe å "regne ut". Man må bare telle.

 

SubString(43,45) betyr at man skal ha tegn fra posisjon 43 til 45...

SubString(2,3) på teksten "tester" blir "es".

 

Tallene varierer også fra språk til språk. For det første er teller noen språk første tegn fra 0 , mens andre teller fra 1. Andre parameter kan også bety enten hvilke posisjon siste tegnet er på , eller antall tegn.

Lenke til kommentar
Uummh. Fins det ikke noe kalkulator?

Eg orker ikke telle meg frem til 43 og så ta med 45 siffer bak der igjen :/

 

Se på det som en utfordring folkens!  :w00t:

7096953[/snapback]

 

ok, fra posisjon 43 og 45 tegn utover:

 

cl-user> (let* ((start 43) (end (+ start 45)))
          (subseq "01100110011010010110111001100100010111110110000101101110011011110111010001101000011001010111001001011111011101110110000101111001"
                  start end))
               
"000010110111001101111011101000110100001100101"

 

edit: pasten over er tydeligvis noe forumet ikke takler :roll:, så jeg postet her også: http://paste.lisp.org/display/28205

Endret av lnostdal
Lenke til kommentar

Takk inostdal, eg trur du har løst greia. Men..men..men... Eg skjønner ikke sub_string.

Eg har forstått det slik: n = String.subString(string, start, length)

Altså? arrgh, eg skjønner ikkje en dritt! :argh:

Okei, prøver igjen..

Hvis det står noe sånt som substring(50,50)

og du har ei tallrekke på 100 tall. Så starter du på tall 50 og teller 50 tall til utover tallrekka?

Da får du substringen?

Lenke til kommentar

Det varierer - hvilket språk og bibliotek bruker du? Noen er basert på substring(string, start_pos, end_pos) .. altså _ikke_ substring(string, start_pos, length) .. noe som betyr at du må gjøre:

 

substring(string, the_start_pos, the_start_pos + the_end_pos) .. u see?

 

..det som kan skje om dette er tilfellet er at den (edit:) slutter på gal posisjon..

 

Her er forøvrig en oppdatering av det jeg pastet over .. v.h.a. CLISP kan man bruke dette som et script/program fra konsollet:

 

#!/usr/bin/env clisp

(if (= 3 (length ext:*args*))
   (princ (subseq (third ext:*args*)
                  (parse-integer (first ext:*args*))
                  (+ (parse-integer (first ext:*args*))
                     (parse-integer (second ext:*args*)))))
   (format t "Usage: ~A <start> <length> <string>" *load-pathname*))

 

lars@ibmr52:~/programming/lisp/clisp$ chmod +x script2.lisp
lars@ibmr52:~/programming/lisp/clisp$ ./script2.lisp 2 5 "Lars Rune Nøstdal"
rs Ru
lars@ibmr52:~/programming/lisp/clisp$ ./script2.lisp 2 5
Usage: script2.lisp <start> <length> <string>

 

(I eksempelet gir jeg filen etternavnet `.lisp', men en kan godt unnlate å gi den et etternavn. Da vil det for brukeren ikke være synlig at dette er et Lisp-script.)

Endret av lnostdal
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...