Diskuze: Najdi nahrad v list<string>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
retezec.Replace(retezec, nahrad);
-> tento kód nemodifikuje původní string (retezec), ale vytvoří
nový, modifikovaný, a ten vratí
(což platí pro všechny metody třídy String - tato třída je tzv. immutable
- více třeba na Wikipedii)
foreach (string retezec in data)
{
if (retezec == najdi)
string temp = retezec.Replace(retezec , nahrad);
vysledny.WriteLine(temp);
}
Děkuji mockrát. Již funguje. Ještě jsem přemýšlel nad variantou, že by řetezec pouze obsahoval zadanou část. Jak bych nahradil tuto část a zároveň zachoval původní a zároveň neznal délku ani jednoho z řetězců. Např. Najdi jmeno01 a zaměň za jmeno11. prostě libovolný počet znaků v libovolné délce řetezce.
Zkusil jsem dle tvého návodu to malinko upravit, ale nahradí mi to celý řádek. Což jsem čekal.
foreach (string retezec in data)
{
if (retezec.Contains(najdi))
{
string temp = retezec.Replace(retezec, nahrad);
vysledny.WriteLine(temp);
}
else
vysledny.WriteLine(retezec);
retezec.Replace(najdi, nahrad);
Stačí jen mrknout na dokumentaci - Replace nahradí všechny výskyty stringu "najdi" za string "nahrad".
Děkuji, jsem blbý. Bohužel se jako samouk nemám kde zeptat.
private void btnnahradcastradku_Click(object sender, EventArgs e)
{
string jmenosouboru = txtsoubor.Text;
string najdicast = txtnajdicastradku.Text;
string nahradcast = txtnahradcastradku.Text;
try
{
StreamWriter soubor = new StreamWriter(jmenosouboru, false, Encoding.Default);
foreach (string radek in data)
{
if (radek.Contains(najdicast))
{
string temp = radek.Replace(najdicast, nahradcast);
soubor.WriteLine(temp);
}
else
soubor.WriteLine(radek);
}
soubor.Close();
MessageBox.Show("Hotovo.");
}
catch (Exception)
{
MessageBox.Show("Zadaná část textu se v souboru nevyskytuje.");
return;
}
Zobrazeno 5 zpráv z 5.