String Verilerle Çalışma


String Verilerle Çalışma:
Her string ifade bir diziyi temsil eder. Yani karakterler bir araya gelir ve bir dizi oluşturur.
Append (Karakter Ekleme):
var isim:String = “Ali”
var karakter:character = “@”
isim.append(karakter) --> Ali@


var isim2 = “atakan”
isim2.append(character(“+”)) --> atakan+



var bilgi = “erkan”
bilgi.append(“@gmail.com”)
--> erkan@gmail.com
HasPrefix (Başlangıç Kontrolü):
String bir ifadenin başladığı karakterleri kontrol ederiz. String karşılaştırdığımız ifade ile başlıyorsa true döner.
var isim:String = “Mehmet”
isim.hasPrefix(“Meh”) -->true
isim.hasPrefix(“Met”) -->false
Not: Kontrolde karakter sınırlaması yok.
Örnek:
M” harfi ile başlayan isimleri listeleme.
var isimlistesi = [“Ali”, “Mehmet”, “Özge”, “Mine”]
for indeks in 0...isimlistesi.count-1
{
if isimlistesi[indeks].hasPrefix (“M”) == true
{
print(isimlistesi[indeks]) --> Mehmet
}} Mine
Not: Aranan karakter büyük küçük önemli
HasSuffix (Bitiş Kontrolü):
var isim:String = “Mehmet”
isim hasSuffix(“et”) --> true

uppercased() (BÜYÜK HARFE ÇEVİRME):
var sehir:String = “Erzurum”
sehir.uppercased() --> ERZURUM //String'in orijinali değişmez.
lowercased() (küçük harfe çevirme):
var sehir:String = “Erzurum”
sehir.lowercased() --> erzurum
Not: kullanıcıdan mail, web sitesi alırken gerekebilir.


capitalized (Kelimelerin İlk Harflerini Büyük Yazdırma):
var isim2:String = “ atakan”
isim2 += “ kurt” -------------->atakan kurt
isim2.capitalized -->Atakan Kurt


\( ) Karakter Grubu (Araya Ekleme):
String bir ifadenin içine string olmayan bir veri eklemek istenirse;
  • Veriyi .desciription ile string'e çevirmeli
  • \( ) karakter grubu kullanmalı
var yas:Int = 8
Ali \(yas) yaşındadır.” --> Ali 8 yaşındadır.

RangeOf (Arama):
String bir ifade içinde aranan değerin başlangıç ve bitiş index'ini geri döndürür. İfade yoksa nil döner. Küçük büyük harf duyarlıdır.

var cumle = “Merhaba Mine”
cumle.range(of: “Mine”) -->8..<12

var mail =”atakan@gmail.com”
var s = mail.index(of: “@”)
print(mail.substring(to: s!)) --> atakan


Contains (Arama):
Bu metotta geriye true yada false döner. Büyük-küçük harf duyarlıdır.
var cumle = “Herkes Atakan diye bağırdı, alkışladı.”
cumle.contains(“Atakan”) --> true

Substring(to: Int) (String'i Baştan Parçalama):
var cumle = “ Merhaba Mine”
let index = isim.index(isim.startIndex, offsetBy: 5)
isim.substring(to: index) ---> Merh


SubStringFromIndex (String'i Sondan Parçalama)
var cumle = “Merhaba Mine”
let index = isim.index(isim.startIndex, offsetBy: 5)
isim.substring(from: 0)
-->aba Mine
Bu string'in ortasından bir parça almak istersek range (boşluk) oluşturulur.


Range (Boşluk) Oluşturma:
Range (boşluk) oluşturarak başlangıç ve bitiş değerleri belirtilir.
let start= cumle.index(cumle.startIndex, offsetBy: 3)
let end = cumle.index(cumle.endIndex, offsetBy: -4)
let range = start ...<end
cumle.substring(with:range)
----> haba


Split (Karaktere Göre Parçalama):
var cumle1 = “Benim adım Atakan”
var parcalar = cumle.components(separatedBy: “ “)
parcalar[2] //Parçalar dizisinin 3. elemanını verir.
-->Atakan


Unicode
Dolar= “\u{24}”,
Kalp= “\u{1F496}”,
Türk-Bayrak= “\u{262A}”
print(“\u{1F496}”) -------> kalp şekli

String Karakter Sayısı
var a = “Swift”
print(a.count)---->5
for i in a{
print(i)
}
ilk ve son karakter
var str = “Swift 4”
print(str[str.startIndex]) -----> S
print(str[str.index(before: str.endIndex)]) ----> 4


String'i alt alta yazdırma
let year:Int = 2017
"""
\(year) Yılında
Başladık
Swift
Öğrenmeye
"""