Merhaba, ben Kotlin programlama dilinde kullanıcıdan bir veri almak istiyorum ve bunu string data type olan bir değişkene kaydetmek istiyorum. Kaydettikten sonrada bu verinin bir kısmını almak istiyorum. Nasıl yapabilirim?
Not: 3. , 5. şeklinde karakterleri almak istemiyorum. Benim belirttiğim değeri almak istiyorum.
Örnek:
var domain = “www.domain.com”
Burada mesela www ve .com ibaresini almak istemiyorum. Sadece domain yazısını almak istiyorum.
Yani mesela sen bana http://www.domain.com girdisini verdin. Ben de bu girdiden http://, www, .com gibi ifadeleri kaldırmak geriye kalan sözcüğü almak istiyorum.
Arkadas o url’i vermemis ki Ben arkadasin gosterdigi formattaki urlleri ceviren programi yazdim. Eger herhangi bir formatta rastgele url deseydi ona gore kod yazardim.
Kotlin denmis ama ben py ile algoritmayi gosterdim, @Kotlin kotline çevirebilir.
Teknik olarak oyle evet O zaman soyle diyelim, verilen url’i com, org gibi common ifadelerden ayirip veren fonskiyon. (URL’in devamindan da ayiracak.) URL standartlarini arastiriyorum, pek iyi ifade edemedim.
Ekleyelim. (Ilk kisim haric diger kisimlarin ne oldugunu bilmiyorum, ogrenip geleyim.) (Wiki yaptim, test case ekleyebilirsiniz.) Bu arada problemi sadece http/https icin yapsak iyi olur, file:///home/emre/hello.py de bir url sonucta, ki daha niceleri var.
Selamlar benim de bir sorum olacak ama bilginiz varsa yanıtlarsanız sevinirim .
Kullanıcıdan konsoldan string bir ifade alacağım bunu Scanner(System.‘in’) ile yapıyorum yani burada readLine() ile de alabilirim ama veri alma şeklim değiştiğinde kullanacağım fonksiyonlar da denemelerimde değiştiğini gözlemledim o yüzden hangisi olduğu bu noktada önemli.
Bu almış olduğum string veri içerisinde Türkçe karakterler varsa onları konsola yazdıracagım. Örneğin;
Herşey çok güzel olacak gibi bir giriş yapıldı. ş,ü türkçe karakterler içerir gibi bir cıktı vermesini istiyorum. Yardım ederseniz sevinirim.
Arkadaşlar soruma cevap buldum. Sizlerle de paylaşmak istedim belki bir gün ihtiyacınız olur.
fun main(Args: Array) {
println("Type Anything to Find Turkish Characters:")
val input = Scanner(System.`in`)
val text: String = input.nextLine()
val turkishCharacters= arrayOf("ç","ğ","İ","ı","ö","ü","ş")
val characters = text.toCharArray()
for (char in characters) {
if (turkishCharacters.contains(char.toString())){
println(char)
} else {
println("Türkçe Karakter Bulunamadı")
}
}
}
Çıktı: aşı oldum
Türkçe Karakter Bulunamadı
ş
ı
Türkçe Karakter Bulunamadı
Türkçe Karakter Bulunamadı
Türkçe Karakter Bulunamadı
Türkçe Karakter Bulunamadı
Türkçe Karakter Bulunamadı
Türkçe Karakter Bulunamadı
ilk yöntem de çıktı bu şekilde veriyor.
İkinci yöntem de daha mantıklı çıktı alabiliyorum üzerine çok kafa yordum yardım aldım sizlere de faydası dokunur umarım.
fun main(Args: Array) {
println("Type Anything to Find Turkish Characters:")
val input = Scanner(System.`in`)
val text: String = input.nextLine()
val turkishCharacters= arrayOf("ç","ğ","İ","ı","ö","ü","ş")
val characters = text.toCharArray()
val charMap = HashMap<String,Int>()
for (char in characters) {
if (turkishCharacters.contains(char.toString())){
if(charMap.containsKey(char.toString())){
val count = charMap[char.toString()] ?: 0
charMap[char.toString()] = count + 1
} else {
charMap[char.toString()] = 1
}
}
}
for ((key, value) in charMap) {
println("$key = $value")
}
//Tüm işlemler taramalar gerçekleştikten sonra kontrol yapımızı kurduk ve hashMap'e değer aktarılmadıysa bunu yazdırdık.
if (charMap.isEmpty()){
println("Türkçe Karakter Bulunamadı")
}