Diskuze: VB Vyhledat a smazat řádky dle zadaných znaků
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 6 zpráv z 6.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Moc nerozumim, co a proc chces udelat? Co ten kod bude na konec delat? Pokud
ma najit a smazat text, je na to funkce replace.
https://docs.microsoft.com/…ings.replace?…
Pokud pracujes s listboxem, tak bych mel uplney seznam v nejake promenne a
generoval obsah listboxu podle podminek z tohoto seznamu.
googlem jsem nasel treba tohle
https://www.dreamincode.net/…stbox-items/
"Http%$$" --> "Http://"
Public Sub ListboxReplace(ByRef lb As ListBox)
If lb.Items.Count = 0 Then Exit Sub
For i As Integer = 0 To lb.Items.Count - 1
ListBox1.Items(i) = System.Text.RegularExpressions.Regex.Replace(ListBox1.Items(i), "Http%\$\$" , "Http://")
Next
End Sub
Pokud jde o mazani, tak nevim, jak se chova VB, ale vetsina jazyku muze mit problem s tim, ze mu smazes polozku a pak precisluje pole.
cyklus (0 az 3) {if (podminka) smaz(i)}
0 1 2 3 -> i==1 -> precisluje indexy 0 1 2, ale cyklus ti jede stale do 0 az 3!
Takze je lepsi cyklus pocitat od konce, nebo vysledek prepisovat do noveho pole
cyklus (3 az 0 nebo exist) {if (podminka) smaz(i)}
cyklus (0 az 3) {if (podminka==false) {pole[j] = item[i]; j++}}
Děkuji
S funkci replace by to šlo.
Cíl je vyhledat dane znaky a vymazat co obsahují za text.
kod
kod
<!-- zde bude poznamka
druhý řádek
třetí řádek -->
kod
kod
kod
<!-- zde bude poznamka
druhý řádek
třetí řádek -->
po kliknutí na button
kod
kod
kod
kod
kod
..........
tedy funkce bude obsahovat znaky <!-- a --> a mezi těmito znaky smaže
text vč. znaků
že v textu zůstanou potom mezeri vůbec nevadí
ten regularni vyraz by mohl byt (pokud se VB nelisi od jinych)
\<\!\-\-.*?\-\-\>
. jakykoliv znak
<!--
* opakovani 0 a nekonecno
? opakuj, dokud nenarazis na tuto kombinaci...
-->
viz regexp.cz
A navic by tam mohl byt modifikator m jako multiline
ještě mě napadlo to vyhledat právě podle indexu
moc mě to ale nefunguje
for (int n = listBox1.Items.Count - 1; n> = 0; --n)
{
string s = listBox1.Items [n] .ToString ();
{
int start = n. IndexOf ("<!-");
int end = n.IndexOf ("->");
{
listBox1.Items.Remove (s);
to jsem ještě psal i do C# ve visualu by to bylo podobně
int start = n. IndexOf ("<!-")
int end = n.IndexOf ("->")
stringem načtu list box a podmínkou potom napsat aby v listoboxu se vyledal
text který má <!- a -> na konci dát listBox1.Items.Remove
Zobrazeno 6 zpráv z 6.