JavaScript String Method (13.Ders) – Masif Dinamik
javascript-dersleri

JavaScript String Method (13.Ders)

Evet Arkadaşlar adım adım ilerlediğimiz JavaScript derslerimizde bugün 13.dersimize gelmiş durumdayız. Bu zamana kadar bir çok şey öğrendik ve öğrenmeye devam edeceğiz. Yaklaşık %15’ini tamamlamış durumdayız derslerimizin.

Dize Yöntemleri ve Özellikleri

“Ali Sancak” gibi bir örnek ismi alırsak bir nesne olmadığı için bunun properties ve methods özellikleri yoktur. JS’de bu şekilde yazılan metinler İlkel değerler olarak adlandırılır. Fakat js bu ilkel değerleri yürütürken onlara nesneymiş gibi davranır. Örneklere bakalım daha iyi anlayacaksınız.

Dize Uzunluğu

Length özelliği, bir dizenin uzunluğunu döndürür:
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;
Sonuç yazdırırsanız yukarıdaki txt değişkenindeki kaç tane harf var onu yazdırır.

Bir Dizede Bir Kelime Kaçıncı Sıradan Başlıyor

Mesela “Bütün genellemeler yanlıştır” cümlesinde yanlıştır kelimesini kaçıncı sıradan başladığını bulmak için indexOf() methodunu kullanıyoruz.

var str = "Ali Bak";
var pos = str.indexOf("Bak");

Burada sonuç : 4 verecektir. Çünkü indexler 0 dan başlar. 0 1 2 3 4 diye sayılır.
JavaScript konumları sıfırdan sayar. 0 bir dizedeki ilk konumdur, 1 ikinci, 2 üçüncü konumdur …

Eğer js’nin karşısına ilk çıkan kelime değilde son çıkan kelimenin kaçıncı sırada başladığını bulmak için lastIndexOf ()  kullanmalısınız.

var str = "ABCDE ABCDE";
var pos = str.lastIndexOf("ABCDE");

Burada sonuç 6 çıkacaktır. 
İkinci ABCDE kelimesi 6.noktada başladığı için.
Metin bulunmazsa hem indexOf () hem de lastIndexOf () -1 döndürür.
var str = "Please locate where 'locate' occurs!";
var pos = str.lastIndexOf("John");

metin bulunmadığı için -1 döner.
Her iki yöntem de, aramanın başlangıç ​​konumu olarak ikinci bir parametreyi kabul eder:
var str = "Please locate where 'locate' occurs!";
var pos = str.indexOf("locate", 15);

burada sonuç 21. çıkacaktır.
eğer ikinci Parametre 3 olsaydı
sonuç 7. çıkacaktı.
LastIndexOf () yöntemleri geriye doğru (uçtan başa doğru) arama yapar, yani: ikinci parametre 15 ise, arama 15 konumunda başlar ve dizenin başlangıcını arar.
var str = "Please locate where 'locate' occurs!";
var pos = str.lastIndexOf("locate", 15);

Yukarıdaki kodda 15.satıra kadar olan aramaları kapsıyor. Normalde ise parametreden

Bir Dizede Dize Arama

Search () yöntemi, bir dizeyi belirli bir değer arar ve eşleşmenin konumunu döndürür:
var str = "Please locate where 'locate' occurs!";
var pos = str.search("locate");
Sonuç:7

String Parçalarını Çıkarma

Bir dizenin bir kısmını çıkarmak için 3 yöntem vardır:
  • slice(startend)
  • substring(startend)
  • substr(startlength)

The slice() Method

slice (), bir dizenin bir kısmını çıkarır ve çıkarılan parçayı yeni bir dizede döndürür.
Yöntem 2 parametre alır: başlangıç ​​konumu ve bitiş konumu (son dahil değildir).
Bu örnek, bir dizenin bir kısmını konum 7’den konum 12’ye (13-1) ayırır:
var str = "Apple, Banana, Kiwi";
var res = str.slice(7, 13);
Sonuç:Banana

Yukarıda örnekte 7.nokta B ve 12.nokta a dahil ederek kesme işlemi yapılıyor.13.nokta dahil edilmiyor 13-1 yapmanız gerekiyor sonucu görmek için.

Unutmayın: JavaScript konumları sıfırdan sayar. İlk pozisyon 0.
Bir parametre negatifse, konum dizenin sonundan sayılır.
Bu örnek, bir dizenin -12 konumundan -6 konumuna bir kısmını keser:
var str = "Apple, Banana, Kiwi";
var res = str.slice(-12, -6);
Sonuç:Banana
İkinci parametreyi atlarsanız, yöntem dizenin geri kalanını dilimleyecektir:
var res = str.slice(7);
Sonuç Banana, Kiwi
veya sondan sayarak:
var res = str.slice(-12);
Sonuç Banana, Kiwi
Negatif pozisyonlar, Internet Explorer 8 ve önceki sürümlerinde çalışmaz.

The substring() Method

substring() metodu  slice(). metoduna benzer.

Fark, substring () öğesinin negatif dizinleri kabul edememesidir.
var str = "Apple, Banana, Kiwi";
var res = str.substring(7, 13);
Sonuç : Banana
İkinci parametreyi atlarsanız, substring () dizenin geri kalanını keser.

The substr() Method

substr() metodu yine slice() metoduna benzer.

Fark, ikinci parametrenin çıkarılan parçanın uzunluğunu belirtmesidir.
var str = "Apple, Banana, Kiwi";
var res = str.substr(7, 6);
Sonuç:Banana
İkinci parametreyi atlarsanız, substr () dizenin geri kalanını keser.
var str = "Apple, Banana, Kiwi";
var res = str.substr(7);

Sonuç:Banana, Kiwi
İlk parametre negatifse, konum dizenin sonundan itibaren sayar.
var str = "Apple, Banana, Kiwi";
var res = str.substr(-4);
Sonuç: Kiwi

Dize İçeriğini Değiştirme

replace() yöntemi, belirtilen bir değeri bir dizedeki başka bir değerle değiştirir:
str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "Masif Dinamik");
Sonuç : Please visit Masif Dinamik 
Varsayılan olarak, replace () yöntemi büyük / küçük harfe duyarlıdır. MICROSOFT (büyük harfle) yazmak işe yaramaz:
str = "Please visit Microsoft!";
var n = str.replace("MICROSOFT", "Masif Dinamik");

Yukarıdaki örnekte hiç bir şey değişmeyecektir.
Çünkü büyük küçük harfe duyarlıdır.

Ama hocam ben duyarsızlaştırmak istersem ne yapmalıyım derseniz:

str = "Please visit Microsoft!";
var n = str.replace(/MICROSOFT/i, "Masif Dinamik");

Burada /kelime/i kullanarak duyarsızlaştırıp
replace yöntemi kullanabiliriz
o zaman regular expression kullanmalıyız. /i  kullandık yukarıda ve büyük-küçük harfe duyarsızlaştırdık.
Peki bir stringi değiştirirken tüm stringleri değiştirmek istersek ne kullanacağız
o zaman /g regular expression kullanmalıyız. Bu arada regular expressionlar tırnak olmadan yazılır her zaman.
str = "Please visit Microsoft and Microsoft!";
var n = str.replace(/Microsoft/g, "Masif Dinamik");

Yukarıdaki işlemi yaparsak iki microsoftun da değiştiğini göreceğiz.

button_kendin-dene

 

 

Örneğimizden de anlaşıldığı gibi ilk önce string başına / taksim koyuyoruz bakın ters taksim değil normal taksim yani alt+7 ile yapıyoruz macte. daha sonra bir taksim daha ve g koduyla tüm stringleri istediğimiz stringe çeviriyoruz.

İleriki derslerde regular expression konusuna tekrar işleyeceğiz.

Büyük ve Küçük Harfe Dönüştürme

Bir dize, toUpperCase () ile büyük harfe dönüştürülür:
var text1 = "Merhaba Dünya!";       // String
var text2 = text1.toUpperCase();  // text2 is text1 converted to upper
Bir dize toLowerCase () ile küçük harfe dönüştürülür:
var text1 = "Merhaba Dünya!";       // String
var text2 = text1.toLowerCase();  // text2 is text1 converted to lower

The concat() Method

concat () iki veya daha fazla dizeyi birleştirir:
var text1 = "Hello";
var text2 = "World";
var text3 = text1.concat(" ", text2);

button_kendin-dene

 

 

Artı operatörü yerine concat () yöntemi kullanılabilir. Bu iki dize aynı şeyi yapar:
var text = "Merhaba" + " " + "Dünya!";
var text = "Merhaba".concat(" ", "Dünya!");
Tüm dize yöntemleri yeni bir dize doğurur. Orijinal dizeyi değiştiremezler.
Dizeler değişmezdir sabittir. Sadece yerlerine başkası koyulur.

String.trim() Yöntemi

Trim () yöntemi, boşluğu bir dizenin her iki tarafından kaldırır:
var str = "       Hello World!        ";
alert(str.trim());

Dize Karakterlerini Çıkarma

Dize karakterlerini ayıklamak için 3 yöntem vardır:
  • charAt(position)
  • charCodeAt(position)
  • Property access [ ]

The charAt() Method

CharAt () yöntemi, bir dizede belirtilen bir dizindeki (konum) karakteri döndürür:
var str = "HELLO WORLD";
str.charAt(0);            // returns H

Yukarıdaki örnekte 0.noktadaki karakteri döndürdük ve H geldi.

The charCodeAt() Method

CharCodeAt () yöntemi, bir dizede belirtilen dizindeki karakterin unicode değerini döndürür:
Yöntem bir UTF-16 kodu döndürür (0 ile 65535 arasında bir tam sayı).
var str = "HELLO WORLD";

str.charCodeAt(0);         // returns 72

Property Access

ECMAScript 5 (2009), dizelerde özellik erişimine [] izin verir:
var str = "HELLO WORLD";
str[0];                   // returns H

button_kendin-dene

 

 

 

  • Mülk erişimi biraz öngörülemez olabilir:
  • Internet Explorer 7 veya önceki sürümlerinde çalışmıyor
  • Stringler arraylere benzetilir ama değiller.
  • Hiçbir karakter bulunamazsa yani saçma bir sayı girdiğinizde, [] tanımsız, charAt () ise boş bir dize döndürür.
  • Sadece okuma izni var. str[0] = “A” hata vermez fakat çalışmazda!
var str = "HELLO WORLD";
str[0] = "A";             // Gives no error, but does not work
str[0];                   // returns H

Örnekte görüldüğü gibi str[0] yine H döndürdü.

Peki bir stringi nasıl arraya dönüştürürüz.

Converting a String to an Array

Bir string, split () yöntemiyle bir array’e dönüştürülebilir:
var txt = "a,b,c,d,e";   // String
txt.split(",");          // Split on commas
txt.split(" ");          // Split on spaces
txt.split("|");          // Split on pipe

split() kodunu çalıştırmak için bir ayrıcı belirtmeniz gerekiyor.

Ayırıcı atlanırsa, döndürülen dizi [0] dizinindeki tüm dizgiyi içerecektir.

Ayırıcı “” ise, döndürülen dizi tek karakterlik bir dizi olur:
Bu dersimiz bitmiştir.  Çok uzun olmasına rağmen faydalı bir ders oldu. Artık String ile alakalı kafanızda bir şeylerin yerleştiğine inanıyorum.

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


Yeni Yazılara Abone Ol



© Copyright 2020, Masif Dinamik