JavaScript
Børre Stenseth
Noen begreper >Tekst

Tekst

Mye av det vi ønsker å handtere i JavaScript er typisk tekst. Tekst, string, er en klasse i JavaScript. Det finnes en del standardfunksjoner for å arbeide med stringer. Siden JavaScript ikke har typer så må vi selv sørge for at det objektet vi anvender metoden på er en string.

En enkel string-varabel i JavaScript kan vi angi slik:

 var S='Hallo';
 var S="Hallo";
 var S='Hallo "jensen"';
 var S="Hallo 'jensen'";

Det er viktig å være klar over at vi kan bruke både ' og ". Dette gjør det mulig for oss å angi den indre som en del av stringen. Vi kan også lage stringkontstanter med mange linjer:

 var S='Hallo\
 alle\
 sammen';

Pass på at det ikke er noen blanke tegn til høyre, etter \

Noen (av mange) funksjoner

 S='Hallo alle sammen';
  • c=S.charAt(0)
    -->c:'H'
    
  • L=S.length()
    -->L:17
    
  • i=S.indexOf('a')
    -->i:1
    
  • i=S.lastIndexOf('a')
    -->i:12
    
  • ordliste=S.split(' ')
    -->ordlist[0]:'Hallo'
       ordlist[1]:'alle'
       ordlist[2]:'sammen'
       ordlist.length: 3
    
  • T=S.substring(6,9)
    -->T:'alle'
    T=S.substring(10)
    -->T:'sammen'
    
  • t=S.toLowerCase()
    -->t: 'hallo alle sammen'
    
  • T=S.toUpperCase()
    -->T: 'HALLO ALLE SAMMEN'
    

Vi kan dessuten slå sammen, concatenere, stringer med en enkel +. Dette er fleksibelt men litt farlig siden JavaScript ikke har typer og samtidig er veldig imøtekommende med andre ting en stringer.

a='Hallo';
b='alle';
i=3
j=4
T=a+b;
-->T:'Halloalle'
T=a+' '+b+' sammen';
-->T:'Hallo alle sammen'
T=a+' 'b+' '+i;
-->T:'Hallo alle 3'
T=a+' 'b+' '+i+j;
-->T:'Hallo alle 34'
T=a+' 'b+' '+(i+j);
-->T:'Hallo alle 7'

Replace

replace krever litt spesiell oppmerksomhet.

  var T='alle forstår alle';
  T=T.replace('alle','noen');
  -->T:'noen forstår alle'
 

Altså: bare en replace, den første forekomsten av alle byttes. For å få til en global erstatning, alle forekomster, kan vi skrive:

  var T='alle forstår alle';
  T=T.replace(/alle/g,'noen');
  -->T:'noen forstår noen'
 

Vi har da brukt regulær uttrykk, vi har skrevet / istedet for '. g angir at vi vil ha global replace. Mer om regulære uttrykk i JavaScript i [1] . Du vil finne masse eksempler på regulæruttrykk for ulike formål på nettet, f.eks. for å sjekke om en string er en velformet mailadresse eller om en string består av bare bokstaver eller bare bokstever eller tall.

Referanser
  1. JavaScript,Pattern Matching and Regular Expressions webreference.com www.webreference.com/js/column5/ 01-02-2014
Noen begreper >Tekst