C# String Bölmek
-
merhabalar bir string değişkenim var içeriğini textboxdan çekiyor istediğim
örnek
"merhabalar <Ad Soyad> bu mesaj sistem tarafından otomatik olarak gönderilmiştir."
bu örnekteki metni
"merhabalar" + datagridview1.Rows[0].Cells["Ad Soyad"].Value + "bu mesaj sistem tarafından otomatik olarak gönderilmiştir."
şekline çevirmesini istiyorum normal textboxin içeriğinde nereye "<>" şeklinde operatör koyarsam orayı datagridviewin kolunu olarak almasını istiyorum nasıl yapabilirim bunu
-
Eğer illa <> karakterlerini kullanmayacaksan şöyle bişey işini görür sanırım:
string mesaj = string.Format("merhabalar {0} bu mesaj sistem tarafından otomatik olarak gönderilmiştir.", datagridview1.Rows[0].Cells["Ad Soyad"].Value);Diğer türlü istiyorsan replace kullanabilirsin:
string mesaj = "merhabalar <> bu mesaj sistem tarafından otomatik olarak gönderilmiştir."; mesaj = mesaj.Replace("<>", datagridview1.Rows[0].Cells["Ad Soyad"].Value); -
mfe25 bunu yazdı
Eğer illa <> karakterlerini kullanmayacaksan şöyle bişey işini görür sanırım:
string mesaj = string.Format("merhabalar {0} bu mesaj sistem tarafından otomatik olarak gönderilmiştir.", datagridview1.Rows[0].Cells["Ad Soyad"].Value);Diğer türlü istiyorsan replace kullanabilirsin:
string mesaj = "merhabalar <> bu mesaj sistem tarafından otomatik olarak gönderilmiştir."; mesaj = mesaj.Replace("<>", datagridview1.Rows[0].Cells["Ad Soyad"].Value);bunda sıkıntı yok hocam ama sorun şurda işaretin <> olmasına gerek yok <> arasındaki yazıyı datagrid olarak atayacak yani
<> ler arasına ad soyad mı gelir mail mi bilmiyorum o yüzden sorun çekiyorum
"merhabalar <buraya rasgelebişi > bu mesaj sistem tarafından <buraya rasgelebişi > otomatik olarak <buraya rasgelebişi >gönderilmiştir."
-
tam anlamadım hocam. textboxtan aldığını grid'in hücresine mi yazacaksın, yoksa gridden okuyup textbox'ı mı dolduracaksın?
-
mfe25 bunu yazdı
tam anlamadım hocam. textboxtan aldığını grid'in hücresine mi yazacaksın, yoksa gridden okuyup textbox'ı mı dolduracaksın?
hocam deneme adında bir string değişkenim var öncelikle deneme stringine textbox1 den metni alıyorum.
kullanıcı textboxa örnek olarak
"merhaba <Ad Soyad> deneme mesajı olarak yazıyorum <icerik> o bu şu <hop>"
diye mesaj yazdı burda textbox ın içine <> içerisinde yazdıkları datagridviewin column isimleri yani adam isterse 1. columnu kullanır sadece isterse 3 ü isterse 1-2-3 ü kullanır bana sonuç olarak bu deneme mesajını şu şekilde vermesi gerekiyor.
"merhaba" + datagridview1.rows(0).cells("Ad Soyad)" + "deneme mesajı olarak yazıyorum" + datagridview1.rows(0).cells("icerik)" + "o bu şu" + datagridview1.rows(0).cells("hop")
-
Basit bir yol hocam. Bir fonksiyon yaz bunu gibi
public string Degistir(string degistirilecekYazi,string degisken,string deger)
{
return degistirilecekYazi.Replace("<"+degisken+">", deger);
}//Kullanimi
string ilkYazi = "Benim adim "; //Degistirilecek olan
string ad="Mehmet"; //Degisken degeri
string sonYazi = Degistir(ilkYazi, "ad", ad); //KullanimiSenin istediginde
merhabalar <Ad><Soyad> bu mesaj sistem tarafından otomatik olarak gönderilmiştir.
yazip
kullanman gerek.
dhmm tarafından 28/Nis/15 16:10 tarihinde düzenlenmiştir -
furkiak bunu yazdımfe25 bunu yazdı
tam anlamadım hocam. textboxtan aldığını grid'in hücresine mi yazacaksın, yoksa gridden okuyup textbox'ı mı dolduracaksın?
hocam deneme adında bir string değişkenim var öncelikle deneme stringine textbox1 den metni alıyorum.
kullanıcı textboxa örnek olarak
"merhaba deneme mesajı olarak yazıyorum o bu şu "
diye mesaj yazdı burda textbox ın içine <> içerisinde yazdıkları datagridviewin column isimleri yani adam isterse 1. columnu kullanır sadece isterse 3 ü isterse 1-2-3 ü kullanır bana sonuç olarak bu deneme mesajını şu şekilde vermesi gerekiyor.
"merhaba" + datagridview1.rows(0).cells("Ad Soyad") + "deneme mesajı olarak yazıyorum" + datagridview1.rows(0).cells("icerik)" + "o bu şu" + datagridview1.rows(0).cells("hop")
abi hiç gridview kullanmadım ama mantıken şu kırmızı ile belirttiğim kısımdan sana bi string dönmesi gerekiyo. Şimdi sen textbox'tan aldığın metni parse edip <> işaretleri arasındaki text'i grid'in bi hücresine yazman gerekiyo ki sonra gidip onu okuyabilesin.
Şu şekilde textboxtan okuduğun text'i filtreleyip grid'in hücrelerine yazmalısın (grid'e veri girme olayını bilmiyorum o yüzden for döngüsünün içi hatalı olabilir) :
MatchCollection results = Regex.Matches("merhaba <Ad Soyad> deneme mesajı olarak yazıyorum <icerik> o bu şu <hop>", @"\<(.+?)\>"); List<string> degerler = new List<string>(); foreach (Match item in results) { degerler.Add(item.Groups[0].Value.Replace("<", "").Replace(">", "")); } for (int i = 0; i < degerler.Count; i++) { datagridview.rows(0).cells(i).Value = degerler[i]; }Sonra griddeki bu veriyi söylediğin şekilde okuyabilirsin.
-
konu = textBox5.Text;
int isaretci1, isaretci2;
while (konu.IndexOf("<") != -1)
{
isaretci1 = konu.IndexOf("<");
isaretci2 = konu.IndexOf(">");
string degisim;
degisim = konu.Substring(0, isaretci1) + dataGridView1.Rows[rex].Cells[konu.Substring(isaretci1 + 1, isaretci2 - isaretci1 - 1)].Value + konu.Substring(isaretci2 + 1, konu.Length - isaretci2 - 1);
konu = degisim;
olarak yazdım hocam yaptım
-
Çok karmaşık kod yazıyosun hocam. Nacizane tavsiyem kodlama standartlarına bak. Kariyer hedefin nedir bilmiyorum ama yazılım şirketleri buna çok dikkat ediyor, girdiğim tüm uygulamalı mülakatlarda düzenli kod yazmayla ilgili olumlu/olumsuz dönüşler aldım.
-
Tavsiyem string.format kullanman
