C# String Bölmek

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    furkiak
    furkiak's avatar
    Kayıt Tarihi: 29/Nisan/2014
    Erkek

    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


    Android Mobil Uygulama - Web Sitesi - Masaüstü Yazılım yapılır. Vitaminsiz Palyaço
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MadJack
    MadJack's avatar
    Kayıt Tarihi: 07/Temmuz/2014
    Erkek

    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);

    Everyone sees just what they want to see.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    furkiak
    furkiak's avatar
    Kayıt Tarihi: 29/Nisan/2014
    Erkek
    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."
     

    Android Mobil Uygulama - Web Sitesi - Masaüstü Yazılım yapılır. Vitaminsiz Palyaço
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MadJack
    MadJack's avatar
    Kayıt Tarihi: 07/Temmuz/2014
    Erkek

    tam anlamadım hocam. textboxtan aldığını grid'in hücresine mi yazacaksın, yoksa gridden okuyup textbox'ı mı dolduracaksın?


    Everyone sees just what they want to see.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    furkiak
    furkiak's avatar
    Kayıt Tarihi: 29/Nisan/2014
    Erkek
    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")

     


    Android Mobil Uygulama - Web Sitesi - Masaüstü Yazılım yapılır. Vitaminsiz Palyaço
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dhmm
    dhmm's avatar
    Kayıt Tarihi: 15/Eylül/2011
    Erkek

    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); //Kullanimi

     

    Senin 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

    Ozgurluk aslinda her istedigini yapabilmek degildir, istemedigini yapmamaktir. // Verdigin degeri gormeyince, gordugun degeri ver !!! // Hayatin herkes icin bir bavulu vardir !!! // Dusmek gerekir bazen hayatta; kalkmayi ogrenebilmek icin
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MadJack
    MadJack's avatar
    Kayıt Tarihi: 07/Temmuz/2014
    Erkek
    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.


    Everyone sees just what they want to see.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    furkiak
    furkiak's avatar
    Kayıt Tarihi: 29/Nisan/2014
    Erkek

     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


    Android Mobil Uygulama - Web Sitesi - Masaüstü Yazılım yapılır. Vitaminsiz Palyaço
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MadJack
    MadJack's avatar
    Kayıt Tarihi: 07/Temmuz/2014
    Erkek

    Ç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.


    Everyone sees just what they want to see.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    Tavsiyem string.format kullanman


    Si vis pacem para bellum.
Toplam Hit: 1043 Toplam Mesaj: 10