webForumDet fria alternativet

söka i strängar(variabler)

5 svar · 316 visningar · startad av Prästen

PrästenMedlem sedan dec. 2000537 inlägg
#1

Hej.

Jag skulle behöva lite hjälp.

Det finns ju ett antal sökmetoder i javascript för att söka i strängar. såsom IndexOf och liknande. Jag skulle gärna vilja veta vad det finns för fler sökmetoder?. Nån som kan hjälpa?. :)

BroskanMedlem sedan mars 2000126 inlägg
#2

Stränghantering

Här har du en bra länk i ämnet.

http://devedge.netscape.com/library/manuals/2000/javascript/1.3/reference/string.html

//Broskan

dhoMedlem sedan aug. 20022 027 inlägg
#3

Du kan även titta på reguljära uttryck (regular expression).

JojoxxMedlem sedan juni 20004 308 inlägg
#4

Ett litet exempel på det.

var str="Detta är en text.";
if(str.match(/[åäö]/i)){ alert("Texten innehåller å, ä eller ö."); }

RegExp

PrästenMedlem sedan dec. 2000537 inlägg
#5

Hmm IndexOf verkar inte funka på Arrayer?
if(arr[y].stad.IndexOf(document.MittFormular.sokstad.value)!=-1)

tyckte den match var lite krånglig att använda, hade ju en massa parametrar att ställa in ju :(

jag provade också att använda .search, den funka bra men den kunde inte avgöra skillnaden på stora bokstäver och små, så den blev oandvändbar

nån som vet hur man använder IndexOf på arrayer?.

JojoxxMedlem sedan juni 20004 308 inlägg
#6

Prästen skrev:

Hmm IndexOf verkar inte funka på Arrayer?
if(arr[y].stad.IndexOf(document.MittFormular.sokstad.value)!=-1)

Det indexOf talar om är var (första) förekomsten av söktermen i en sträng förekommer. Skall du göra det på en array får du loopa igenom alla elementen (antagligen strängar) i arrayen.

var arr=["Smurf plockar blåbär","Hallon är gott","Mmm... blåbärspaj","Rabarbersaft"]

stringHits=0;
for(var n=0;n<arr.length;n++){
	stringHits+=(arr[n].indexOf("blåbär")>-1)?1:0;
}
alert(stringHits+" av array-elementen innehöll 'blåbär'");

match (RegExp) är inte så krångligt. Du behöver ju inte använda alla parametrarna. "i" i exemplet ovan talar om att matchningen skall vara case insensitive. Alltså inte skilja på stora/små bokstäver. Plockar du bort det str.match(/[åäö]/) så kommer den inte att matcha ex "Ä".

133 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)