Soru & Cevap

Java Split ile cümleyi ayırma ...

25.11.2017 - 07:11

Merhaba,

Yazdığım programda kullanıcı "Merhaba benim adım x" derse program "merhaba x"demesini istiyorum.

Girilen değeri "veri"ye eşitledim ve ben istiyorum ki split ile cümleyi ikiye ayırayım eğer ilk cümle "Merhaba benim adım" + veri ise kodlar çalışsın istiyorum bunu nasıl yapabilirim?

626 Görüntülenme

4 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user doguruzgar
doguruzgar
28.11.2017 - 04:51
var ayrim = veri.split(" ");

 

ile ayrim adında bir array'e sahip oldun. Burada dilediğin gibi oynayabilirsin. Örneğin:

 

var indeks;
for (var i = 0; i < ayrim.length; i++) { 
    if (ayrim(i) == "adım") {
        indeks = i+1;
    }
}
var kisininAdi = ayrim(indeks);
console.log("Merhaba" + kisininAdi);

 

Bunu biraz yapay zeka kullanarak da çeşitlendirebilirsin. Ama bu başka bir sorunun konusu :)

Profile picture for user ali_ay
ali_ay
28.11.2017 - 03:47

Hocam yanlış anlamadıysam aşağıdaki adımlar işini görebilir;

1-)   Kullanıcıdan kendisini tanıtmasını iste = "Kendinizi tanıtır mısınız?"

2-)   Kullanıcının yazdığı metni bir stringe at

3-)   Stringi split ile boşluklara göre ayır.

4-)   Ayırdıktan sonra oluşan dizinin elemanları içinde döngüyle "adım" kelimesini arat.

5-)   "adım" kelimesinin bulunduğu indexle sıfırıncı index arasındaki kelimeleri alıp "Merhaba benim adım" stringiyle karşılaştır.

6-)   Eğer eşitse adım kelimesinin bulunduğu indexten bir sonraki index ile dizinin son indexi arasındaki kelimeleri yeni bir diziye at.

7-)   Ekrana "Merhaba " + 6. adımda oluşturduğun yeni dizinin elemanlarını bas

8-)   Eğer eşitlik yoksa uygulamak istediğin aksiyon neyse onları uygulat.

picture-146233-1510612829.jpg
ebraremreyilmaz
27.11.2017 - 01:09
Tam olarak ne yapmak istediğini anlamadım ama sanırım aradığın şey şu;

Karşılaştırmalar yapabilirsin örneğin kullanıcıya adın ne diye bi ekran çıktısı göstererek girdiği metni veri değişkenine atadın. Sonrasında bu veri stringini karşılaştırmalarla kontrol et. Örnek ;

Kullanıcı "Merhaba benim adım Ebrar Emre" girmiş olsun

karsilastirma ="Merhaba benim adım"

if (veri[:17]==karsilastirma) {    //Veri stringinin 17.  elemanına kadar olan kısmı aldık

               //Veri stringinin 17. elamanına kadar olan kısım ile karsilastirma aynı ise bu kod bloğu çalışacak.

} 

 

Profile picture for user Antivir
Antivir
26.11.2017 - 12:07

Regex kullanabilirsiniz. yardımcı tool http://regex101.com/ iyi çalışmalar.