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 11:19
Konum: İstanbul

c# ta bir stringi bölme

Mesaj gönderen nurullahdemir »

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 »

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 08:56
Konum: yine yeniden Ankara ^_^

Mesaj gönderen unicorn64 »

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 »

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 04:55
Konum: İstanbul

Mesaj gönderen lazio »

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 11:19
Konum: İstanbul

Mesaj gönderen nurullahdemir »

tesekkürle string parçalama işini hallettim
dmr
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Mesaj gönderen unicorn64 »

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 05:25

Re: c# ta bir stringi bölme

Mesaj gönderen OzerPehlivan »

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: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: c# ta bir stringi bölme

Mesaj gönderen aslangeri »

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