14. februar 2011 - 11:53Der er
5 kommentarer og 1 løsning
skal replace alt efter 2nd match med regex.replace
jeg har en linje som ser således ud.
"blabla - blabla blabla - blabla blabla "
blabla kan være alt fra tal/bogstaver/tegn. Det med fed skal blive tilbage. Det jeg matcher på er "-" Der kan godt forekommer flere "-", men det er alt efter den anden "-" som skal slettes.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Tja, start '^' og slut '$' betyder at pattern skal matche hele inputtet, dvs her hele linjen; '[^ ]+' betyder et eller flere tegn som ikke er mellemrum; ' - ' betyder simpelthen bindestreng omgivet af mellemrum - hvis der kan være mere en ét mellemrum, skal det være ' +- +'; ' -.*' betyder mellemrum og bindestreg efterfulgt af hvadsomhelst pånær linjeskift; paranteserne gør at man kan referere til det omsluttede, hvilket bliver gjort med '$1' i Replace.
Nu ved jeg ikke præcis hvad du skal bruge det til, men .+ eller [^ ] medtager ALLE tegn (på nær mellemrum) i den sidste, og f.eks. ændringer i RegEx indstillinger, vil give forskellige resultater, som f.eks. om linebreak medtages.
Men umiddelbart ville jeg nok gå efter "^((?:(?:[^-]*)-){2})" så bliver den ved med at søge og capture præcis ind til og med den rammer den 2. "-".
Synes godt om
Ny brugerNybegynder
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.