Avatar billede kledal Nybegynder
17. august 2004 - 15:13 Der er 12 kommentarer og
1 løsning

kontrollere om mit reg.exp matcher noget til højre for et komma

"arraddress[3] = (tmpcityname.match(strCityName)[0]);"

Ovenstående skal tjekke på en match til højre for et komma i variablen strcityname, hvordan skrives dette?
Hvis der ikke er et komma, skal arraddress[3] blot være "".

/kledal
Avatar billede roenving Novice
17. august 2004 - 15:17 #1
var komma = strcityname.lastIndexOf(',');

arraddress[3] = (komma==-1)?"":tmpcityname.match(strCityName.substring(komma+1))[0];
Avatar billede kledal Nybegynder
17. august 2004 - 15:45 #2
jeg får syntax error i regular expression i linjen

straddress = straddress & "arraddress[3] = (komma==-1)?"""":tmpvalue.match(strCityName.substring(komma+1));"

mit script ser sådan her ud:
straddress = straddress & "var strCityName = ""((([A-Za-zæøåÆØÅüÜéèÉÈ.])+?( )?))+"";"

straddress = straddress & "var komma = tmpvalue.lastIndexOf(',');"
        straddress = straddress & "arraddress[3] = (komma==-1)?"""":tmpvalue.match(strCityName.substring(komma+1));"
        straddress = straddress & "alert(arraddress[3]);"

/kledal
Avatar billede roenving Novice
17. august 2004 - 15:56 #3
Hvis du finder kommaet i tmpvalue, er det selvfølgelig også den, du skal tage substring af !-)

straddress = straddress & "arraddress[3] = (komma==-1)?"""":tmpvalue.substring(komma+1).match(strCityName);"
Avatar billede kledal Nybegynder
17. august 2004 - 16:04 #4
tak så virker det, på nær at hvis der ikke er tastet noget ind efter kommaet, (hvilket der jo aldrig er til at begynde med) så får jeg fejl om at den ikke kan match.
Avatar billede roenving Novice
17. august 2004 - 16:09 #5
Så må du jo også teste, om der er noget til højre for:

straddress = straddress & "arraddress[3] = (komma==-1||tmpvalue.substring(komma+1)=="""")?"""":tmpvalue.substring(komma+1).match(strCityName);"
Avatar billede kledal Nybegynder
17. august 2004 - 16:13 #6
ok, det skal blot være match[0] og når jeg sætter det til slut sådan her så giver den fejl igen:
straddress = straddress & "arraddress[3] = (komma==-1||tmpvalue.substring(komma+1)=="""")?"""":tmpvalue.substring(komma+1).match(strCityName)[0];"
Avatar billede roenving Novice
17. august 2004 - 16:25 #7
Hvaffen fejl ?-)
Avatar billede kledal Nybegynder
17. august 2004 - 16:28 #8
'substring(...).match(...).0' is null or not an object
Avatar billede roenving Novice
17. august 2004 - 16:34 #9
straddress = straddress & "arraddress[3] = (komma==-1||tmpvalue.substring(komma+1)=="""")?"""":(tmpvalue.substring(komma+1).match(strCityName))?tmpvalue.substring(komma+1).match(strCityName)[0]:"""";"
Avatar billede kledal Nybegynder
17. august 2004 - 16:40 #10
er det muligt at gøre sådan her?
var komma = strcityname.lastIndexOf(',-');
altså at det både kan være et komma eller en bindestreg?
Avatar billede kledal Nybegynder
17. august 2004 - 16:40 #11
og iøvrigt virker det, tak for hjælpen, svar og du skal få point
Avatar billede roenving Novice
17. august 2004 - 22:12 #12
Den sidste mulighed findes såvidt jeg ved ikke, så man skal lave den to gange:

var komma = Math.max(strcityname.lastIndexOf(','),strcityname.lastIndexOf('-'));

-- og velbekomme '-)
Avatar billede roenving Novice
18. august 2004 - 12:24 #13
Tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester