Dart String (Harf dizinleri) Kullanımları
Dart string, harf dizinleri veya metin adıyla Türkçeleştirebileceğimiz bir veri tipidir. Stringler esas olarak metinsel veri ifadelerini depolamak için kullanırlar.
Unicode kodlarından oluşan string, yani karakter dizilerini (metinleri) bilgisayarda verimli bir biçimde saklayabilmek amacıyla çeşitli karakter kodlamaları geliştirilmiştir. Bunlardan en bilinenleri UTF-8, UTF-16 ve UTF-32‘dir.
Dart String
Dart ise UTF-16 Unicode kodlama uzantısı kullanır. Unicode kodlama konusunda daha detaylı bilgi edinmek için ilgili yazıyı ziyaret edebilirsiniz. Biz konuyu fazla dağıtmadan yazımıza devam edelim.
Bir string veri tipi tek veya çok satırlı olabilir. Tek satırda yazılan string ifadeleri için tek veya çift tırnak kullanılarak yazılırken çok satırlı string ifadesi için üçlü tırnak kullanılır:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
'Tek tırnaklı Dart string'; "Çift tırnaklı Dart string"; 'Tek tırnak içinde kullanılmış "çift" tırnak'; "Çift tırnak içinde kullanılmış 'tek' tırnak"; '''Çoklu Satır Örneği için üçlü tek tırnak kullanıldı'''; """Çoklu Satır Örneği için üçlü çift tırnak kullanıldı"""; |
Çift tırnak içinde bir başka çift tırnaklı string ifadesi kullanılamaz bunun yerine çift tırnak içinde tek tırnak, tek tırnak içinde çift tırnak kullanılmalıdır. Eğer aynı tırnak içinde yine aynı tırnak işareti kullanılmak istenirse ters eğik çizgi, \ kullanılır. Ters eğik çizgiyi doğrudan izleyen tırnak işareti, hata vermeden olduğu gibi dizeye dahil edilir:
1 2 3 |
void main() { print("\"Çok yorgunum usta,\" dedi."); } |
Çıktı: “Çok yorgunum usta,” dedi.
Kodunuzu daha okunabilir hale getirmek için yukarıdakilerden uygun olanı duruma göre kullanabilirsiniz. Hem tek tırnak hem de çift tırnak Dart’ta kullanabileceğiniz eşdeğer string değişmezleridir. Tek veya çift tırnak kullanmakta özgürsünüz, ancak yaygın kullanıma uymak ve kodlarımızda tutarlılık olması açısından biz string veri tiplerimizi çift tırnak kullanarak oluşturacağız.
Değişken oluşturmak için kullanacağımız adlandırma çeşitlerini ilgili yazımızda daha önce göstermiştik. Haliyle string veri tipini oluşturacağımız değişken örneklerimize geçebiliriz.
1 2 3 4 5 6 7 8 9 10 11 |
void main() { String hayvan = 'Kedi'; String araba = "Ferrari"; String multiLIneString = """Bu bir çoklu satır metinsel ifadesidir."""; print (hayvan); print (araba); print (multiLIneString); } |
Dart String Concatenation
- Dart’ta değişken içine birden fazla bitişik string ifadeleri otomatik olarak birleştirilir:
1 2 3 4 5 |
void main() { String dart = "Dart " "bir " "programlama " "dilidir."; print (dart); } |
Çıktı: Dart bir programlama dilidir.
- String concatenation olarak adlandırılan metinsel ifadelerin birleşimi artı (+) operatörü ile sağlanır:
1 2 3 4 5 |
void main() { String dart = "Dart " + "bir " + "programlama " + "dilidir."; print (dart); } |
- Benzer şekilde değişkenler de artı (+) operatörü ile birleştirilebilir:
1 2 3 4 5 6 |
void main() { var str1 = "Dart "; var str2 = "Programlama dili"; var str3 = str1 + str2; print(str3); } |
Çıktı: Dart Programlama dili
Dart String Interpolation
- String içindeki Dart ifadelerinin değerini enterpolasyon yapmak için ${değişkenAdı} şeklinde çağırabilir ve böylece bir string veri tipi içindeki bir ifadenin değerine erişebilirsiniz:
1 2 3 4 5 6 |
void main() { var selam = "Merhaba"; var insan = "Brad"; print("${selam}, ${insan}!"); } |
- Tanımlayıcılar değerlendirilirken küme parantezleri {} atlanabilir:
1 2 3 4 5 6 |
void main() { var selam = "Merhaba"; var insan = "Brad"; print("$selam, $insan!"); } |
- Eğer parantez {} içindeki değişken string veri tipinde değilse, değişkenin toString() yöntemi çağrılır.
1 2 3 4 |
void main() { int insan = 5; print("Bu odada ${insan.toString()} insan bulunmaktadır."); } |
- Yukarıdaki durumu Dart zaten otomatik olarak yapabilir. Amaç kullanıcının müdahale edebileceğini göstermektir:
1 2 3 4 |
void main() { int insan = 5; print("Bu odada $insan insan bulunmaktadır."); } |
Çıktı: Bu odada 5 insan bulunmaktadır.
- Yukarıdaki örneklerde görüldüğü üzere eğer sadece tek bir değişken ise dolar işareti kullanabiliriz. Eğer bir ifade ise, ${} sözdizimini kullanmalıyız:
1 2 3 4 5 6 7 |
void main() { int derece = 35; String havaDurumu = "Hava yağmurlu ve $derece derece"; print (havaDurumu); String hesap = "Eğer hava 10 derece daha düşük olsaydı ${derece - 10} derece olurdu."; print (hesap); } |
Çıktı:
Hava yağmurlu ve 35 derece
Eğer hava 10 derece daha düşük olsaydı 25 derece olurdu.
Dart String Metotları
Metot | Açıklama |
---|---|
toLowerCase() | Stringdeki tüm karakterleri küçük harfe dönüştürür. |
toUpperCase() | Stringdeki tüm karakterleri büyük harfe dönüştürür. |
trim() | Başında ve sonunda boşluk bırakmadan stringi döndürür. |
compareTo() | Bu nesneyi başka bir nesneyle karşılaştırır. |
replaceAll() | Belirtilen kalıpla eşleşen tüm alt stringleri belirli bir değerle değiştirir. |
split() | Stringi belirtilen sınırlayıcının eşleşmelerinde böler ve alt dizelerin bir listesini döndürür. |
substring() | Bu stringin startIndex (dahil) ile endIndex (hariç) arasında uzanan alt stringini döndürür. |
toString() | Bu nesnenin string temsilini döndürür. |
codeUnitAt() | Verilen stringin 16 bitlik UTF-16 kod birimini döndürür. |