lostyazilim
tr.link

C# String Replace Komutu Hakkında

12 Mesajlar 2.754 Okunma
acebozum
tr.link

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)
Merhaba arkadaşlar ,
Ben bir stringimde örnek vermek gerekirse B harfini C ye çevirmek istiyorum ve C harfi var ise de bunu B ye çevirmek istiyorum.
Fakat eğer bunu replace komutu ile yaparsam hatalı oluyor çünkü o stringde bulunan B leri C ye çevirdikten sonra ikinci yazdığım kod sebebiyle onu tekrar B ye çeviriyor ama ben tekrar çevrilmesini istemiyorum .

Bunun için yapabileceğim bir çözüm yolu var mıdır ?

Şu şekilde denedim ve yaptım fakat daha kısa çözüm yolları da vardır diye düşünüyorum: Stringimi char dizisine çevirdim ve tek tek bunları if sorgusu ile sorgulatıp çevirdim ve sonra char dizisini tekrar toplayıp stringe dönüştürdüm.

Teşekkür ederim .
 

 

wmaraci
reklam

YazilimciHoroz YazilimciHoroz Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.12.2014
  • Yaş/Cinsiyet 28 / E
  • Meslek Yazılım
  • Konum İstanbul Avrupa
  • Ad Soyad E** Ç**
  • Mesajlar 422
  • Beğeniler 25 / 98
  • Ticaret 3, (%100)
Aklıma gelmedi tam olarak böyle bir kod fakat aklıma şu geldi,

Normalde istediğin B -> C || C -> B dimi ama sırayla yapınca hepsi tek harfe dönüyor. O zaman bunu yap.

B - > BUNLAROLUR;
C -> KANDIRDIM;
BUNLAROLUR -> C;
KANDIRDIM -> B;

böyle bir yap bakalım nolacak :) mobilden anca bunu aktarabildim :D
PorFavorDama

kişi bu mesajı beğendi.

XnCN XnCN Yazılımcı Kullanıcı
  • Üyelik 30.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Yazılım
  • Konum Kocaeli
  • Ad Soyad A** H**
  • Mesajlar 447
  • Beğeniler 56 / 109
  • Ticaret 1, (%100)
farklı bir karaktere çevir en son düzelt
örneğin b yi % yap
c yi / yap

en son %leri B /ları c yap
PorFavorDama

kişi bu mesajı beğendi.

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)

Yazilimci Horoz adlı üyeden alıntı

Aklıma gelmedi tam olarak böyle bir kod fakat aklıma şu geldi,

Normalde istediğin B -> C || C -> B dimi ama sırayla yapınca hepsi tek harfe dönüyor. O zaman bunu yap.

B - > BUNLAROLUR;
C -> KANDIRDIM;
BUNLAROLUR -> C;
KANDIRDIM -> B;

böyle bir yap bakalım nolacak :) mobilden anca bunu aktarabildim :D


teşekkür ederim hocam işte biraz mantık kullanınca oluyor sağolun aslında demek istediğiniz aşağıdaki şekilde daha açıklayıcı bir şekilde anlatılmış değil mi ? En başta biraz anlamakta sıkıntı çekmiştim çok teşekkür ederim :D

Ek Olarak:

XnCN adlı üyeden alıntı

farklı bir karaktere çevir en son düzelt
örneğin b yi % yap
c yi / yap

en son %leri B /ları c yap


Teşekkür ederim hocam bir önceki mesajda da bu anlatılmış ama işte benim kafa gidik olduğundan zorlanmıştım bu biraz daha kolaylık oldu teşekkürler :)
 

 

wmaraci
wmaraci

YazilimciHoroz YazilimciHoroz Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.12.2014
  • Yaş/Cinsiyet 28 / E
  • Meslek Yazılım
  • Konum İstanbul Avrupa
  • Ad Soyad E** Ç**
  • Mesajlar 422
  • Beğeniler 25 / 98
  • Ticaret 3, (%100)

PorFavorDama adlı üyeden alıntı

teşekkür ederim hocam işte biraz mantık kullanınca oluyor sağolun aslında demek istediğiniz aşağıdaki şekilde daha açıklayıcı bir şekilde anlatılmış değil mi ? En başta biraz anlamakta sıkıntı çekmiştim çok teşekkür ederim :D

Ek Olarak:

Teşekkür ederim hocam bir önceki mesajda da bu anlatılmış ama işte benim kafa gidik olduğundan zorlanmıştım bu biraz daha kolaylık oldu teşekkürler :)

Ek Olarak:

Teşekkür ederim hocam bir önceki mesajda da bu anlatılmış ama işte benim kafa gidik olduğundan zorlanmıştım bu biraz daha kolaylık oldu teşekkürler :)


işe yaradıysa ne mutlu bana :)
PorFavorDama

kişi bu mesajı beğendi.

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)

Yazilimci Horoz adlı üyeden alıntı

işe yaradıysa ne mutlu bana :)


Yaramaz mı hocam :)

Bir de şey soracağım müsadenizle benim şimdi bir class yapım var ve butona basıldığında classın içinde textboxtan alınan text ile ilgili işlemler yapılıyor ve sonuç label a aktarılıyor ama tekrar butona bastığımda biraz sıkıntılı oluyor ya da yeni bir string girdiğim de sonuç değişmiyor . Bu class yapısının içindeki eski verileri nasıl kaldırabilirim butona her basıldığında ilk işlem olarak ?
 

 

YazilimciHoroz YazilimciHoroz Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 24.12.2014
  • Yaş/Cinsiyet 28 / E
  • Meslek Yazılım
  • Konum İstanbul Avrupa
  • Ad Soyad E** Ç**
  • Mesajlar 422
  • Beğeniler 25 / 98
  • Ticaret 3, (%100)
butonun click olayını ve class methodunu gönderin :)
 

 

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)

Yazilimci Horoz adlı üyeden alıntı

butonun click olayını ve class methodunu gönderin :)


CLICK EVENTI



private void button1_Click(object sender, EventArgs e)
{
string patternRNA = "^[AUGCaugc]+$";
string patternDNA = "^[atgcATGC]+$";
Regex sequenceRgx = new Regex(patternDNA);
Regex sequenceRgxk = new Regex(patternRNA);

if (radioButton1.Checked == true && (radioButton3.Checked == true || radioButton4.Checked == true))
{
if (sequenceRgx.IsMatch(textBox1.Text))
{
Complementer complementer1 = new Complementer(textBox1.Text);
Label label1 = new Label();
label1.Top = 12;
label1.Left = 9;
label1.Top = 141;
label1.Text = "Dizinin complimenteri : "+ complementer1.Hesapla();
label1.Width = 3000+label1.Text.Length;
this.Controls.Add(label1);
timer2.Enabled = true;
}
else
{
MessageBox.Show("Lütfen doğru bir DNA dizisi giriniz!");
}
}
// ----------------- RNA İŞLEMLERİ ---------------
else if (radioButton2.Checked == true && (radioButton4.Checked == true || radioButton3.Checked == true))
{
if (sequenceRgxk.IsMatch(textBox1.Text))
{
timer2.Enabled = true;

}
else
{
MessageBox.Show("Lütfen doğru bir RNA dizisi giriniz!");
}
}
else
{
MessageBox.Show("Lütfen istenilen tüm verileri giriniz!");
}
}







CLASS YAPISI


class Complementer
{
// DEFAULT -
public static char[] Complementer_char;
public string tamami;
public Complementer(string Sequence)
{
Complementer_char = Sequence.ToCharArray();
for (int i = 0; i < Complementer_char.Length;i++ )
{
if(Complementer_char[i] == 'A' || Complementer_char[i] == 'a')
{
Complementer_char[i] = 'T';
}
else if(Complementer_char[i] == 'T' || Complementer_char[i] == 't')
{
Complementer_char[i] = 'A';
}
else if(Complementer_char[i] == 'G' || Complementer_char[i] == 'g')
{
Complementer_char[i] = 'C';
}
else if(Complementer_char[i] == 'C' || Complementer_char[i] == 'c')
{
Complementer_char[i] = 'G';
}
}
}

// -----------------

public string Hesapla()
{

for (int j = 0; j < Complementer_char.Length;j++ )
{
tamami = tamami + Complementer_char[j];
}
return tamami;
}
~Complementer()
{

}



NOT : Butona iki kez tıkladığımda yeni girilen veriler ile işlem yapmamaya başladı hocam

Ek Olarak: Aldığım stringleri her defasında işlem bittikten sonra sıfırlamayı denedim fakat nerede sorunum olduğunu anlamadım hocam . Label'a cevabı yazdırıp daha sonra textboxa başka bir string girdiğimde işlemi yapmıyor aynı işlem kalıyor .
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
Küçük bir hatırlatma ve bilgi ;

local değişkenleri dışarıda bir yerden çağrılmıyorsa, public tanımlamak kötüye kullanıma açmak demektir buda , object oriented prensiplerinden abstraction prensibinin access modifier konusu içinde açıklanır.

local değişkenlerin private tanımlanması eğer dışarıdan bir çağrıya ihtiyaç varsa get/set metodları ile erişilmesi gerekir.

Sevgi, saygı ile.
PorFavorDama

kişi bu mesajı beğendi.

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)

Turgay Can adlı üyeden alıntı

Küçük bir hatırlatma ve bilgi ;

local değişkenleri dışarıda bir yerden çağrılmıyorsa, public tanımlamak kötüye kullanıma açmak demektir buda , object oriented prensiplerinden abstraction prensibinin access modifier konusu içinde açıklanır.

local değişkenlerin private tanımlanması eğer dışarıdan bir çağrıya ihtiyaç varsa get/set metodları ile erişilmesi gerekir.

Sevgi, saygı ile.


Yani direk get ve set ile yap diyorsunuz hocam ? Get ve set pek kullanmadığım için hiç girmemiştim ama onu deneyeyim bir de olmazsa :) Ben neden ikinci defa tıkladığımda işlem yapmıyor onu anlamadım . Ama tamamdır get ve set deniyorum hocam teşekkür ederim .
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al