Gå til innhold

[Løst]Telle antall komma utenfor paranteser


Anbefalte innlegg

Hei

 

si at jeg har setningen

jeg, du, oss(deg, meg), vi(du,jeg)

Så skal jeg finne ut hvor mange ord setningen har som er separert med komma.

 

Denne kodesnutten deler på alle kommaene og tar ikke hensyn til paranteser

$antall=explode(",", $setning);
$resultat=count($antall);

 

Men jeg vil ha svaret fire og derfor ikke ta med kommaene som er inne i paranteser.

Hvordan kan jeg gjøre det i php?

 

På forhånd takk :)

Lenke til kommentar
Videoannonse
Annonse

Raskt gjennomtenkt er forslaget jeg kommer på å kjøre en søk og erstatt med regulært uttrykk på alle paranteser og fjerne dem og innholdet, for så å telle komma.

 

http://no.php.net/manual/en/function.preg-replace.php

 

$pattern skal da være noe slikt som ([^).]*)

 

dvs

 

$pattern = "([^).]*)";

 

Jeg har ikke mulighet for å sjekke uttrykket mitt i php, mulig det er en annen syntaks enn i mitt editorprogram

Lenke til kommentar
  • 2 uker senere...

Fant følgende regex som matcher paranteser og tar bort de og deres innhold:

$str = preg_replace('/\(.*?\)/i', '', $del);

men nå er problemet at visse setninger ser slik ut:

 

SELECT c.lastname+','+c.firstname as Navn,

case len(ltrim( str(b.reqtime/3600))) WHEN 1 THEN '0' + ltrim( str(b.reqtime/3600))

 

Altså utrolig mange paranteser hvordan matches det egentlig?

Finnes det et slags universal mønster jeg kan bruke :p

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å
×
×
  • Opprett ny...