/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
"Trimning" af tekststreng
Fra : Jonas Schmeltz Aaber~


Dato : 10-09-03 19:38

Jeg har et problem mht. at fjerne nogle tegn rundt omkring i min
tekststreng.
Et eksempel på en streng:
00000000001000000.00000000001100001.00000000100000001

Følgende skal jeg have gjort:
- Alle 10 nuller før det første 1-tal i første del (før første
punktum) skal fjernes.
- Alle 10 nuller før det første 1-tal i anden del (efter første
punktum - til andet punktum) skal fjernes.
- Alle 8 nuller før det første 1-tal i tredje del (efter andet
punktum) skal fjernes.
Og intet andet!

Antal "dele" er vilkårlig, ligesom antallet af nuller før første
forekomst af et 1-tal.

Hvordan gøres dette smartest, og sådan, at det dynamisk trimmer
hver del, selvom der ikke er et bestemt antal dele?

MVH Jonas

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Johan Holst Nielsen (10-09-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 10-09-03 20:11

Jonas Schmeltz Aaberg wrote:

> Jeg har et problem mht. at fjerne nogle tegn rundt omkring i min
> tekststreng.
> Et eksempel på en streng:
> 00000000001000000.00000000001100001.00000000100000001
>
> Følgende skal jeg have gjort:
> - Alle 10 nuller før det første 1-tal i første del (før første
> punktum) skal fjernes.
> - Alle 10 nuller før det første 1-tal i anden del (efter første
> punktum - til andet punktum) skal fjernes.
> - Alle 8 nuller før det første 1-tal i tredje del (efter andet
> punktum) skal fjernes.
> Og intet andet!
>
> Antal "dele" er vilkårlig, ligesom antallet af nuller før første
> forekomst af et 1-tal.
>
> Hvordan gøres dette smartest, og sådan, at det dynamisk trimmer
> hver del, selvom der ikke er et bestemt antal dele?

yes har lige lavet et lille script her :) Sig til hvis det ikke giver
sig selv :)

<script type="text/javascript">
var teststring = "0000000001110000.00001101000010.0010010101001";
function removeZero(s) {
sa = s.split("\.");
for(var i=0; i<sa.length;i++) {
while(sa[i].charAt(0)=="0") {
sa[i] = sa[i].substring(1,sa[i].length);
}
}
return sa.join(".");
}
document.write(removeZero(teststring));
</script>


mvh
Johan


Jonas Schmeltz Aaber~ (10-09-2003)
Kommentar
Fra : Jonas Schmeltz Aaber~


Dato : 10-09-03 20:42

> yes har lige lavet et lille script her :) Sig til hvis det ikke giver
> sig selv :)
>
> <script type="text/javascript">
> var teststring = "0000000001110000.00001101000010.0010010101001";
> function removeZero(s) {
> sa = s.split("\.");
> for(var i=0; i<sa.length;i++) {
> while(sa[i].charAt(0)=="0") {
> sa[i] = sa[i].substring(1,sa[i].length);
> }
> }
> return sa.join(".");
> }
> document.write(removeZero(teststring));
> </script>

Smart du ;)
Jamen det var jo slet ikke så kompliceret, som jeg havde frygtet!
Jo, jeg kan sagtens gennemskue det, og det virker jo også SMUKT!
Tusind mange tak for det!

MVH Jonas (aka Juke)

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Lasse Reichstein Nie~ (10-09-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 10-09-03 21:11

Jonas Schmeltz Aaberg <julledyret@e-mail.dk> writes:

> Jeg har et problem mht. at fjerne nogle tegn rundt omkring i min
> tekststreng.
> Et eksempel på en streng:
> 00000000001000000.00000000001100001.00000000100000001
>
> Følgende skal jeg have gjort:
> - Alle 10 nuller før det første 1-tal i første del (før første
> punktum) skal fjernes.
> - Alle 10 nuller før det første 1-tal i anden del (efter første
> punktum - til andet punktum) skal fjernes.
> - Alle 8 nuller før det første 1-tal i tredje del (efter andet
> punktum) skal fjernes.
> Og intet andet!

Er du sikker på at der er et 1-tal i hver del (og ikke en gruppe med
rene nuller)?

> Antal "dele" er vilkårlig, ligesom antallet af nuller før første
> forekomst af et 1-tal.

Der er mange forskellige måder at gøre det på.

I moderne browsere (IE 5.5+) kan man bruge replace til det:
---
streng = streng.replace(/\b0*(1[01]*)\b/g,"$1");
---
Tidligere browsere (fx Netscape 4, IE5) tillod kun at man replace'de med en
fast streng.

Alternativt kan man splitte ved punktummerne og så finde 1-tallet i hver
gruppe:
---
var arr = streng.split(".");
for (var i in arr) {
arr[i]=arr[i].substring(arr[i].indexOf("1"));
}
streng = arr.join(".");
---
Dette virker også i Netscape 4.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste