c# ta bir stringi bölme

C# (C Sharp) veya Java ile ilgili konuları buraya yazabilirsiniz.
Cevapla
nurullahdemir
Üye
Mesajlar: 15
Kayıt: 06 Tem 2007 10:19
Konum: İstanbul

c# ta bir stringi bölme

Mesaj gönderen nurullahdemir » 17 Eyl 2007 04:02

c# ile bir stringi stringteki bir karaktere göre bölüp 2 parçaya nasıl ayırabilirim.?????
dmr

memiky
Üye
Mesajlar: 116
Kayıt: 17 Kas 2004 01:52
İletişim:

Mesaj gönderen memiky » 17 Eyl 2007 05:56

Split() metodu sayesinde karaktersel bir bilgiyi istediğiniz sayıda parçaya bölebilirsiniz. Örneğin bu metodu kullanarak birlikte yazılan ad ve soyadı birbirinden ayırabilirsi¬niz.

Karaktersel Bilgi.Split(Ayırıcı Karakter)

Bu metot string bilgiyi birden fazla parçaya ayırırken kullanılacak ayırıcı karakteri parametre olarak almakta ve geriye karaktersel bilginin parçalanmış halini göndermektedir. Geriye gönderilen bilgileri yakalamak için daha önceden dizi değişken tanımlamalısınız. Bu meto¬dun nasıl kullanıldığını anlatmak için aşağıda verdiğim kodu hazırladım.

private void Form1_Click(object sender, EventArgs e)
{
string[] dizi;
dizi = textBox1.Text.Split(' ');
textBox2.Text = dizi[0];
textBox3.Text = dizi[1];
}

Bu metotta önce eleman sayısı baştan belirtilmeyen String dizi değişken tanım¬ladım. Ardından formdaki ilk TextBox’a yazılan metni 2 parçaya ayırmak için Split() metodunu kullandım. 1. parametrede verilen karaktersel bilginin bölüneceği yer tespit edilirken ayırıcı karakterden yararlanılır. Ayrıcı karakter olarak boşluğu(' ') kullandım. Split() metoduna “ayrıcı” karakter parametre olarak verilmezse bunun boşluk(' ') olduğu varsayılır.

Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 07:56
Konum: yine yeniden Ankara ^_^

Mesaj gönderen unicorn64 » 17 Eyl 2007 06:59

peki splitte ayırıcı karakter (gerçi artık karakter denmez ifade diyelim) olarak string kullanabilirmiyiz. yada bunu sağlayan başka bir fonksiyon var mı??

yani "Hakan - Gün" ifadesini " - " (boşluk tire boşluk) stringinden bölmek ve sonucu "Hakan" ve "Gün" olarak elde edebilmenin bir yolu var mı??

memiky
Üye
Mesajlar: 116
Kayıt: 17 Kas 2004 01:52
İletişim:

Mesaj gönderen memiky » 17 Eyl 2007 07:24

Unicorn64 merhaba;

Split() metodunun Overload edilmiş 6 değişik hali var. Yukarıda verdiğim bunlardan birisiydi. Alın size bir ikincisi: Ayıcı karakter olarak birden fazla elemana sahip Char tipindeki dzi değişkeni parametre olarak verirseniz bu karakterler "veya" işlevi görür. Yani Split() metodu aşıdaki gibi kullanılırsa ayırıcı karakter olarak ister "-" ister "," kullanılsın değişen birşey olmaz.

Kod: Tümünü seç

string[] dizi;
char[] kar = new char[2];
kar[0] = '-';
kar[1] = ',';
dizi = textBox1.Text.Split(kar);
textBox2.Text = dizi[0];
textBox3.Text = dizi[1]; 
[/code]

Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1526
Kayıt: 11 Tem 2003 03:55
Konum: İstanbul
İletişim:

Mesaj gönderen lazio » 18 Eyl 2007 09:36

split fonksiyonu parametre olarak char dizisi haricinde string dizisi de alıyor, haliyle '-' gibi kullanabileceğiniz gibi "--" gibi de kullanabilirsiniz.
örn;

Kod: Tümünü seç

string[] sArray = stext.Split(new string[1] { "bol" }, StringSplitOptions.None);
Resim

..::|YeşilMavi|::..

nurullahdemir
Üye
Mesajlar: 15
Kayıt: 06 Tem 2007 10:19
Konum: İstanbul

Mesaj gönderen nurullahdemir » 18 Eyl 2007 12:08

tesekkürle string parçalama işini hallettim
dmr

Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 07:56
Konum: yine yeniden Ankara ^_^

Mesaj gönderen unicorn64 » 18 Eyl 2007 01:28

ben de çok teşekkür ederim ilginiz ve cevaplarınız için. sayenizde bir nokta daha aydınlanış oldu :D

OzerPehlivan
Üye
Mesajlar: 1
Kayıt: 09 Tem 2009 04:25

Re: c# ta bir stringi bölme

Mesaj gönderen OzerPehlivan » 09 Tem 2009 04:28

Peki ya sayıya göre bölmek istersek yani biz string değerin length ile karakter sayısını alıyoruz ve belli karakterden sonra bölünmesini istiyoruz
split komutunun bu durumu destekler bi methodu var mı_?

Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4319
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: c# ta bir stringi bölme

Mesaj gönderen aslangeri » 09 Tem 2009 08:18

s.a.
onu substring ile alabilirsiniz.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim

Cevapla