C# regulární výraz - nahrazení - více řádků – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

C# regulární výraz - nahrazení - více řádků – .NET – Fórum – Programujte.comC# regulární výraz - nahrazení - více řádků – .NET – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
motorcb0
Newbie
5. 2. 2013   #1
-
0
-

Zdravim.

Mám tento příklad:


string text = @"zacatek [SMAZAT]prvni radek
                       druchy radek
                       [/SMAZAT] konec";

text = Regex.Replace(text, @"\[SMAZAT\].*\[/SMAZAT\]", "");

MessageBox.Show(text);


Pokud je text na 1 řádku, vše funguje, ale na více řádkoách nedojde k nahrazení
Jak příklad upravit aby smazal text mezi tagy SMAZAT???

Nahlásit jako SPAM
IP: 93.99.186.–
Reklama
Reklama
zlz
~ Anonymní uživatel
634 příspěvků
6. 2. 2013   #2
-
0
-

Tak?

Regex.Replace(text, @"\[SMAZAT\].*\[/SMAZAT\]", "", RegexOptions.Singleline)
Nahlásit jako SPAM
IP: 80.188.216.–
CZechBoY+4
Věrný člen
9. 2. 2013   #3
-
0
-

#2 zlz
spíš si myslel RegexOption.Multiline ne?

Nahlásit jako SPAM
IP: 213.192.10.–
zlz
~ Anonymní uživatel
634 příspěvků
9. 2. 2013   #4
-
0
-

Multiline
Multiline mode. Changes the meaning of ^ and $ so they match at the beginning and end, respectively, of any line, and not just the beginning and end of the entire string.

Singleline
Specifies single-line mode. Changes the meaning of the dot (.) so it matches every character (instead of every character except \n).

Nahlásit jako SPAM
IP: 78.156.159.–
CZechBoY+4
Věrný člen
9. 2. 2013   #5
-
0
-

#4 zlz
jj multiline znamen, že se aplikuje ten regulár na všechny řádky najednou, kdežto singleline pouze na jeden

tzn. multiline ignoruje \n u tečky

Nahlásit jako SPAM
IP: 213.192.10.–
KIIV+42
God of flame
9. 2. 2013   #6
-
0
-

#5 CZechBoY
podle ty dokumentace tomu rozumim tak jako zlz.. U single line se bere cely retezec jako jedna radka...  single line ignoruje u tecky \n  ne multi line...

ale asi je to lepsi otestovat

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
CZechBoY+4
Věrný člen
9. 2. 2013   #7
-
0
-

#6 KIIV
zajímavé.. testnul jsem to a je to pravda

to by ěm zajmalo co mě ještě na tom C# překvapí..

#4 zlz

jj

Nahlásit jako SPAM
IP: 213.192.10.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 43 hostů

Podobná vlákna

Regularni vyraz — založil BigBear

Regulární výraz — založil Anonymní uživatel

Regulární výraz — založil polonium

Regulární výraz — založil Pilot

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý