Avatar billede idiotbarn Nybegynder
22. august 2005 - 14:41 Der er 7 kommentarer og
1 løsning

regex med "betingelse" C#.net

Jeg har udtrykket:

s = Regex.Replace(s, "<P ALIGN=\"(CENTER|RIGHT|LEFT)\">(<br>)*<UL>", "<P ALIGN=\"(CENTER|RIGHT|LEFT)\"><UL>", RegexOptions.IgnoreCase);

Det er meningen at den skal fjerne alle <br> tags mellem P og UL tagget, der er nu 2 problemer.

Hvis den fanger <P ALIGN=\"RIGHT\">, skal den også erstatte med RIGHT, hvordan gør man det? og kan man gøre det i ét udtryk?

2) kan det lade sig gøre at der er ignore case på alt undtagen <br> udtrykket?
Avatar billede idiotbarn Nybegynder
22. august 2005 - 14:43 #1
Jeg er kommet til at kikke lidt på den. Dét der er meningen er egentligt bare at den fjerner alle <br> tag imellem P og UL, dog skal tagget ikke fjernes hvis det er <BR>, det må kunne gøres nemmere?
Avatar billede Syska Mester
22. august 2005 - 15:26 #2
øhh, du siger du vil fjerne <br> men ikke hvis tagget er <br> :-S

Altså hvis stringen kun er "<br>" så skal det ikke fjernes men ellers skal det?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemstringclassremovetopic.asp

string myString = "this is a <br> test string, without any <br>";

string myString  = myString .Replace("<br>", "");

// ouT
Avatar billede idiotbarn Nybegynder
22. august 2005 - 15:31 #3
mja...altså der er to tags...<br> og <BR> (alt efter hvordan det er blevet indsat) Jeg er faktisk mest interesseret i hvordan man laver det med at se om der er tale om tilfældet CENTER, RIGHT eller LEFT og så bruge det senere når man laver en replace (jeg er tilbage i det første igen)
Avatar billede Syska Mester
22. august 2005 - 18:57 #4
Skal lige være med på hvorfor du vil fange om det er Center, Right eller Left, skal det bruges andre steder? eller skal det alt sammen rettes til left? eller hvordan?

Hvorfor ikke bare ignore case på alt? så kan folk jo stadig skrive <Br> og det vil ikke blive fanget!!!! ignore case på alt, må vel være det optimale....

// ouT
Avatar billede idiotbarn Nybegynder
22. august 2005 - 19:05 #5
altså...hvis den finder CENTER i P tagget, skal den erstatte med CENTER, og det samme med LEFT eller RIGHT.

nej ikke helt, for folk kan ikke selv skrive html tags <BR> bliver genereret af browseren (WYSIWYG) og <br> er noget jeg har indsat med kode
Avatar billede Syska Mester
22. august 2005 - 21:04 #6
Tror jeg skal hedde "afbrædt hjerne" eller forstår jeg bare ikke lige hvorfor du vil erstatte noget med det samme :-S
Avatar billede idiotbarn Nybegynder
22. august 2005 - 23:19 #7
tror også man skal ha fået ideen for det er logisk:)
planen er at hvis jeg har fx:

<P ALIGN="CENTER"><br><br><UL> skal det erstattes med <P ALIGN="CENTER"><UL> og så i stedet for at lave 3 forskellige sætninger der gør det for center,left og right så bare ha én sætning der checker om det er én af de 3 ting, og så man kan henvise til det der var tilfældet senere.

Lige i det her tilfælde er den måske lidt søgt, men det er lige så meget om det kan lade sig gøre
Avatar billede idiotbarn Nybegynder
06. september 2005 - 18:23 #8
lukker
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
Kurser inden for grundlæggende programmering

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