Javascript digunakan untuk menandai akhir baris. metode javascript untuk bekerja dengan string. Sebuah string selalu merupakan array




Sebagai "kerangka kerja" semantik untuk penggunaan fungsi dan konstruksi untuk memproses string, mereka sangat menarik untuk memprogram proses pemrosesan informasi sesuai dengan konten semantiknya. Dalam JavaScript, fungsi bekerja dengan string dapat digabungkan ke dalam konstruksi semantiknya sendiri, menyederhanakan kode dan memformalkan area subjek masalah.

Dalam versi klasik, pemrosesan informasi, pertama-tama, adalah fungsi string. Setiap fitur dan konstruk bahasa memiliki karakteristik tersendiri dalam sintaks dan semantik JavaScript. Metode string di sini memiliki gayanya sendiri, tetapi dalam penggunaan umum itu hanya sintaks dalam semantik sederhana: cari, ganti, sisipkan, ekstrak, konten, ubah huruf besar-kecil...

Deskripsi variabel string

Konstruksi ini digunakan untuk mendeklarasikan sebuah string var. Anda dapat langsung menetapkan nilainya atau membentuknya selama eksekusi algoritme. Anda dapat menggunakan tanda kutip tunggal atau ganda untuk sebuah string. Jika harus berisi kutipan, harus di-escape dengan karakter "\".

String yang dilambangkan harus keluar dari tanda kutip ganda dalam. Demikian pula, yang ditunjukkan oleh tanda kutip tunggal sangat penting untuk keberadaan tanda kutip tunggal di dalamnya.

Dalam contoh ini, string "str_dbl" mencantumkan karakter khusus yang berguna yang dapat digunakan dalam string. Dalam hal ini, karakter "\" itu sendiri diloloskan.

Sebuah string selalu merupakan array

Pekerjaan JavaScript dengan string dapat dilakukan dengan banyak cara. Sintaks bahasa menyediakan banyak opsi. Pertama-tama, orang tidak boleh lupa bahwa (dalam konteks uraian yang dibuat):

  • str_isV => "V";
  • str_chr => """;
  • str_dbl => "a".

Artinya, karakter string tersedia sebagai elemen array, dengan setiap karakter khusus menjadi satu karakter. Melarikan diri adalah elemen sintaksis. Tidak ada "layar" yang ditempatkan di garis nyata.

Menggunakan fungsi charAt() memiliki efek yang serupa:

  • str_isV.charAt(3) => "V";
  • str_chr.charAt(1) => """;
  • str_dbl.charAt(5) => "a".

Pemrogram dapat menggunakan salah satu opsi.

Fungsi string dasar

JavaScript dilakukan sedikit berbeda dari bahasa lain. Nama fungsi dituliskan ke nama variabel (atau langsung ke string) yang dipisahkan oleh titik. Biasanya fungsi sebaris diberi nama metode dengan gaya sintaksis bahasa, tetapi kata pertama lebih familiar.

Metode yang paling penting dari sebuah string (lebih tepatnya, sebuah properti) adalah panjangnya.

  • var xStr = str_isV.panjang + "/" + str_chr.panjang + "/" + str_dbl.panjang.

Hasil: 11/12/175 sesuai dengan uraian di atas.

Pasangan fungsi inline yang paling penting adalah memisahkan string menjadi array elemen dan menggabungkan array menjadi string:

  • pisah(s[,l]);
  • bergabung.

Dalam kasus pertama, string dibagi dengan karakter pembatas "s" menjadi array elemen, di mana jumlah elemen tidak melebihi nilai "l". Jika nomornya tidak ditentukan, maka seluruh baris akan terbelah.

Dalam kasus kedua, larik elemen digabungkan menjadi satu baris melalui pembatas yang ditentukan.

Fitur penting dari pasangan ini adalah pemisahan dapat dilakukan menggunakan satu pembatas, dan menggabungkan - menggunakan yang lain. Dalam konteks ini, dalam JavaScript, bekerja dengan string dapat "dibawa keluar" dari sintaks bahasa.

Fungsi string klasik

Fungsi pemrosesan string reguler:

  • mencari;
  • Sampel;
  • penggantian;
  • transformasi.

Diwakili oleh metode: indexOf(), lastIndexOf(), toLowerCase(), toUpperCase(), concan(), charCodeAt() dan lainnya.

Dalam JavaScript, bekerja dengan string diwakili oleh sejumlah besar fungsi, tetapi keduanya saling menduplikasi atau dibiarkan untuk algoritme dan kompatibilitas lama.

Misalnya, menggunakan metode concat() adalah legal, tetapi lebih mudah untuk menulis:

  • str = str1 + str2 + str3;

Menggunakan fungsi charAt() juga masuk akal, tetapi menggunakan charCodeAt() memiliki nilai praktis yang nyata. Demikian pula, untuk JavaScript, jeda baris memiliki arti khusus: dalam konteks keluaran layar, misalnya, dalam pesan alert(), ini adalah "\n", dalam konstruk konten halaman, ini adalah "
". Dalam kasus pertama, itu hanya sebuah karakter, dan yang kedua, itu adalah serangkaian karakter.

String dan ekspresi reguler

Dalam JavaScript, bekerja dengan string melibatkan mekanisme ekspresi reguler. Ini memungkinkan pencarian, pemilihan, dan transformasi string yang kompleks dilakukan di dalam browser tanpa harus pergi ke server.

metode cocok menemukan dan mengganti mengganti kecocokan yang ditemukan dengan nilai yang diinginkan. Ekspresi reguler diimplementasikan dalam JavaScript pada tingkat tinggi, secara inheren kompleks, dan karena spesifikasi aplikasinya, mereka mengalihkan fokus dari server ke browser klien.

Saat menerapkan metode cocok, cari Dan mengganti Anda tidak hanya harus memperhatikan pengujian pada seluruh rentang nilai yang dapat diterima dari parameter awal dan string pencarian, tetapi juga mengevaluasi beban pada browser.

Contoh ekspresi reguler

Ruang lingkup ekspresi reguler untuk memproses string sangat luas, tetapi membutuhkan perhatian dan perhatian yang besar dari pengembang. Pertama-tama, ekspresi reguler digunakan saat menguji masukan pengguna di kolom formulir.

Berikut adalah fungsi yang memeriksa apakah input berisi bilangan bulat (schInt) atau bilangan real (schReal). Contoh berikut menunjukkan betapa efisiennya memproses string dengan memeriksanya hanya untuk karakter yang valid: schText adalah teks saja, schMail adalah alamat email yang valid.

Sangat penting untuk diingat bahwa dalam JavaScript, karakter dan string membutuhkan banyak perhatian pada lokal, terutama ketika berhadapan dengan Cyrillic. Dalam banyak kasus, lebih tepat untuk menentukan kode karakter sebenarnya daripada nilainya. Ini terutama menyangkut huruf Rusia.

Perlu dicatat secara khusus bahwa jauh dari selalu perlu untuk melaksanakan tugas sebagaimana telah ditetapkan. Secara khusus, sehubungan dengan pemeriksaan bilangan bulat dan bilangan real: Anda tidak dapat melakukannya dengan metode string klasik, tetapi dengan konstruksi sintaks biasa.

String Berorientasi Objek

Dalam JavaScript, bekerja dengan string diwakili oleh berbagai fungsi. Tapi ini bukan alasan yang baik untuk menggunakannya dalam bentuk aslinya. Sintaks dan kualitas fungsinya sempurna, tetapi ini adalah solusi satu ukuran untuk semua.

Setiap penggunaan fungsi string melibatkan pemrosesan makna sebenarnya, yang ditentukan oleh data, ruang lingkup, tujuan spesifik dari algoritme.

Solusi ideal adalah selalu menginterpretasikan data untuk maknanya.

Dengan merepresentasikan setiap parameter sebagai objek, Anda dapat merumuskan fungsi untuk bekerja dengannya. Kami selalu berbicara tentang pemrosesan karakter: angka atau string adalah urutan karakter yang diatur secara khusus.

Ada algoritma umum, dan ada yang pribadi. Misalnya, nama belakang atau nomor rumah adalah string, tetapi jika dalam kasus pertama hanya huruf Rusia yang diperbolehkan, maka dalam kasus kedua angka, huruf Rusia diperbolehkan, dan tanda hubung atau indeks melalui garis miring dapat muncul. Indeks dapat berupa abjad atau numerik. Rumah itu mungkin memiliki bangunan.

Tidak semua situasi selalu dapat diramalkan. Ini adalah poin penting dalam pemrograman. Algoritme langka tidak memerlukan penyempurnaan, dan dalam banyak kasus perlu menyesuaikan fungsionalitas secara sistematis.

Formalisasi informasi string yang diproses dalam bentuk objek meningkatkan keterbacaan kode, memungkinkan Anda membawanya ke tingkat pemrosesan semantik. Ini adalah tingkat fungsionalitas yang berbeda dan kualitas kode yang jauh lebih baik dengan keandalan yang lebih besar dari algoritme yang dikembangkan.

Salam untuk semua yang telah serius memutuskan untuk mempelajari bahasa berorientasi prototipe. Di masa lalu, saya memberi tahu Anda tentang , dan hari ini kami akan mengurai string JavaScript. Karena dalam bahasa ini semua elemen teks adalah string (tidak ada format terpisah untuk karakter), Anda dapat menebak sendiri bahwa bagian ini menempati bagian penting dalam mempelajari sintaks js.

Itulah sebabnya dalam publikasi ini saya akan memberi tahu Anda bagaimana elemen sebaris dibuat, metode dan properti apa yang disediakan untuknya, cara mengonversi string dengan benar, misalnya, mengonversi menjadi angka, cara mengekstrak substring yang diinginkan, dan banyak lagi . Selain itu, saya akan melampirkan contoh kode. Dan sekarang turun ke bisnis!

Sintaks Variabel String

Dalam bahasa js, semua variabel dideklarasikan menggunakan kata kunci var, dan kemudian, bergantung pada format parameter, jenis variabel yang dideklarasikan ditentukan. Seperti yang Anda ingat dari , tidak ada pengetikan yang kuat di JavaScript. Itulah mengapa situasi dalam kode ini.

Saat menginisialisasi variabel, nilai dapat dibingkai dalam dua kali lipat, tunggal, dan mulai dari 2015, dalam tanda kutip tunggal yang dipotong. Saya telah melampirkan contoh masing-masing cara mendeklarasikan string di bawah ini.

Saya ingin memberi perhatian khusus pada metode ketiga. Ini memiliki sejumlah keunggulan.

Dengannya, Anda dapat dengan aman melakukan jeda baris dan akan terlihat seperti ini:

waspada(`beberapa

menderita

Dan cara ketiga memungkinkan Anda untuk menggunakan konstruk $(...) . Alat seperti itu diperlukan untuk memasukkan interpolasi. Jangan takut, sekarang saya akan memberi tahu Anda apa itu.

Berkat $(...) Anda tidak hanya dapat memasukkan nilai variabel ke dalam string, tetapi juga melakukan operasi aritmatika dan logis dengannya, memanggil metode, fungsi, dll. Semua ini disebut dengan satu istilah - interpolasi. Lihat contoh implementasi dari pendekatan ini.

1 2 3 pena var = 3; var pensil = 1; alert(`$(pena) + $(pensil*5) = $(pena + pensil)`);

pena var = 3; var pensil = 1; alert(`$(pena) + $(pensil*5) = $(pena + pensil)`);

Hasilnya, ekspresi akan ditampilkan di layar: "3 + 1*5 = 8".

Adapun dua cara pertama untuk mendeklarasikan string, tidak ada perbedaan di antara keduanya.

Mari kita bicara sedikit tentang karakter khusus

Banyak bahasa pemrograman memiliki karakter khusus yang membantu mengelola teks dalam string. Yang paling terkenal di antara mereka adalah jeda baris. (\N).

Semua alat serupa awalnya dimulai dengan garis miring terbalik (\) dan diikuti dengan huruf abjad Inggris.

Di bawah ini saya lampirkan tabel kecil yang mencantumkan beberapa karakter khusus.

Menimbun gudang metode dan properti yang berat

Pengembang bahasa telah menyediakan banyak metode dan properti untuk menyederhanakan dan mengoptimalkan pekerjaan dengan string. Dan dengan dirilisnya standar baru yang disebut ES-2015 tahun lalu, daftar ini telah diisi ulang dengan alat-alat baru.

Panjang

Saya akan mulai dengan properti paling populer, yang membantu mengetahui panjang nilai variabel string. Ini panjang. Ini digunakan seperti ini:

var string = "Unicorn";

alert(string.panjang);

Respons akan menampilkan angka 9. Properti ini juga dapat diterapkan pada nilai itu sendiri:

"Unicorn".panjang;

Hasilnya tidak akan berubah.

charAt()

Metode ini memungkinkan Anda mengekstrak karakter tertentu dari teks. Saya mengingatkan Anda bahwa penomoran dimulai dari nol, jadi untuk menarik karakter pertama dari sebuah string, Anda perlu menulis perintah berikut:

var string = "Unicorn";

alert(string.charAt(0));.

Namun, hasilnya tidak akan berupa tipe karakter, masih akan diperlakukan sebagai string satu huruf.

dari toLowerCase() ke toUpperCase()

Metode ini mengontrol kasus karakter. Saat menulis kode "Konten".

toUpperCase() seluruh kata akan ditampilkan dalam huruf kapital.

Untuk efek sebaliknya, Anda harus menggunakan "Konten". ke Huruf Kecil().

Indeks()

Alat yang diminta dan diperlukan untuk mencari substring. Sebagai argumen, Anda perlu memasukkan kata atau frasa yang ingin Anda temukan, dan metode mengembalikan posisi elemen yang ditemukan. Jika teks pencarian tidak ditemukan, "-1" akan dikembalikan ke pengguna.

1 2 3 4 var text = "Atur pencarian bunga!"; waspada(text.indexOf("warna")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

var text = "Atur pencarian bunga!"; waspada(text.indexOf("warna")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

Perhatikan bahwa lastIndexOf() melakukan hal yang sama, hanya mencari dari akhir kalimat.

Mengekstrak substring

Untuk tindakan ini di js, dibuat tiga metode yang kurang lebih identik.

Mari kita analisis dulu substring (awal, akhir) Dan irisan (awal, akhir). Mereka bekerja sama. Argumen pertama menentukan posisi awal dari mana ekstraksi akan dimulai, dan yang kedua bertanggung jawab atas titik perhentian terakhir. Dalam kedua metode tersebut, string diekstraksi, tidak termasuk karakter yang terletak di posisi akhir.

var text = "Suasana"; waspada(teks.substring(4)); // tampilkan "sphere" alert(text.substring(2, 5)); //menampilkan "mos" alert(text.slice(2, 5)); //menampilkan "mos"

Sekarang mari kita lihat metode ketiga, yang disebut substr(). Itu juga membutuhkan 2 argumen: awal Dan panjang.

Yang pertama menentukan posisi awal dan yang kedua menentukan jumlah karakter yang akan diekstraksi. Untuk melacak perbedaan antara ketiga alat ini, saya menggunakan contoh sebelumnya.

var text = "Suasana";

waspada(teks.substr(2, 5)); //menampilkan "mosphe"

Dengan menggunakan cara yang terdaftar untuk mengambil substring, Anda dapat menghapus karakter yang tidak perlu dari elemen sebaris baru, yang kemudian digunakan oleh program.

ganti()

Metode ini membantu mengganti karakter dan substring dalam teks. Itu juga dapat digunakan untuk mengimplementasikan penggantian global, tetapi untuk ini Anda perlu menyertakan ekspresi reguler.

Contoh ini akan mengganti substring di kata pertama saja.

var text = "Suasana Atmosfer"; var newText = text.replace("Atmo","Strato") alert(newText) // Hasil: Atmosfer Stratosfer

Dan dalam implementasi ini, karena flag ekspresi reguler "g", penggantian global akan dilakukan.

var text = "Suasana Atmosfer"; var newText = text.replace(/Atmo/g,"Strato") alert(newText) // Hasil: Stratosphere Stratosphere

Mari kita lakukan konversi

JavaScript hanya menyediakan tiga jenis konversi tipe objek:

  1. Numerik;
  2. rangkaian;
  3. Boolean.

Dalam publikasi saat ini, saya akan berbicara tentang 2 di antaranya, karena pengetahuan tentang mereka lebih diperlukan untuk bekerja dengan string.

Konversi Numerik

Untuk secara eksplisit mengonversi nilai elemen ke bentuk numerik, Anda dapat menggunakan nomor (nilai).

Ada juga ungkapan yang lebih pendek: +"999".

var a = Bilangan("999");

Konversi string

Dijalankan oleh fungsi peringatan, serta panggilan eksplisit string (teks).

Ketika saya menulis dalam javascript, saya sering harus merujuk ke mesin pencari untuk mengklarifikasi sintaks metode (dan urutan, definisi argumen) yang bekerja dengan string.

Pada artikel ini, saya akan mencoba memberikan contoh dan deskripsi metode javascript paling umum yang terkait dengan string. Metode paling populer terletak di bagian atas artikel untuk kenyamanan.

Konversikan ke string

Anda dapat mengonversi angka, boolean, atau objek menjadi string.

var Nomorku = 24; // 24 var myString = myNumber.toString(); // "24"

Anda juga dapat melakukan ini dengan fungsi string().

var Nomorku = 24; // 24 var myString = String(myNumber); // "24"

Nicholas Zakas mengatakan: "Jika Anda tidak yakin dengan nilainya (null atau undefined), maka gunakan fungsi String(), karena mengembalikan string terlepas dari jenis variabelnya."

belum diartikan berarti bahwa tidak ada nilai yang diberikan ke variabel, a batal, - bahwa itu telah diberi nilai nol (bisa dikatakan bahwa nol didefinisikan sebagai objek kosong).

Memisahkan string menjadi substring

Untuk membagi string menjadi array substring, Anda dapat menggunakan metode split() :

Var myString = "datang,terpisah,pada,koma"; var substringArray = myString.split(","); // ["datang", "terpisah", "di", "yang", "koma"] var arrayLimited = myString.split(",,", 3); // ["datang", "berpisah", "di"]

Seperti yang ditunjukkan baris terakhir, nilai argumen opsional kedua menentukan jumlah elemen dalam larik yang dikembalikan.

Dapatkan panjang string

Dengan properti length, Anda dapat menemukan jumlah karakter unicode dalam sebuah string:

Var myString = "Kamu adalah karakter yang bagus."; var stringLength = myString.length; // 25

Tentukan substring dalam sebuah string

Ada dua cara untuk melakukannya:

Gunakan indexOf() :

Var stringSatu = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

Metode indexOf() mencari substring (argumen pertama diteruskan) dalam string (dari awal string) dan mengembalikan posisi karakter pertama di mana kemunculan substring dalam string dimulai.

Gunakan lastIndexOf() :

Var stringSatu = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Metode lastIndexOf() melakukan hal yang persis sama, kecuali mencari substring terakhir di dalam string.

Jika substring tidak ditemukan, kedua metode mengembalikan -1. Argumen opsional kedua menentukan posisi dalam string tempat Anda ingin memulai pencarian. Jadi, jika argumen kedua untuk metode indexOf() adalah 5, maka pencarian akan dimulai dari karakter ke-5, dan 0-4 karakter akan diabaikan. Untuk lastIndexOf() , juga jika argumen kedua adalah 5, pencarian akan dimulai mundur, dengan karakter 6 ke atas diabaikan.

Bagaimana cara mengganti bagian dari string

Untuk mengganti sebagian (atau bahkan semua) string, gunakan metode replace().

Var slugger = "Josh Hamilton"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Jose Bautista"

Argumen pertama berisi bagian dari substring yang akan diganti; argumen kedua adalah string yang akan menggantikan substring yang akan diganti. Hanya instance pertama dari substring yang akan diganti.

Untuk mengganti semua kemunculan substring, gunakan ekspresi reguler dengan flag " g ".

Var myString = "Dia menjual kerang otomotif di pantai otomotif"; var newString = myString.replace(/automotive/g, "laut"); log konsol(newString); // "Dia menjual kerang laut di tepi laut"

Argumen kedua mungkin menyertakan substring atau fungsi yang akan diganti.

Temukan karakter pada posisi tertentu

Untuk mengetahui karakter mana yang berada pada posisi tertentu, Anda dapat menggunakan metode charAt() :

Var myString = "Burung Berbulu"; var whatsAtSeven = myString.charAt(7); // "F"

Seperti yang sering terjadi di JavaScript, posisi pertama dihitung dari 0, bukan 1.

Sebagai alternatif, Anda dapat menggunakan metode charCodeAt(), namun alih-alih karakter itu sendiri, Anda akan mendapatkan kodenya.

Var myString = "Burung Berbulu"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

Perhatikan bahwa kode untuk huruf besar (posisi 11) berbeda dengan kode untuk huruf yang sama tetapi dalam huruf kecil (posisi 7).

penggabungan string dalam javascript

Sebagian besar, Anda akan menggunakan operator (+) untuk menggabungkan string. Tapi Anda juga bisa menggabungkan string menggunakan metode concat().

Var stringOne = "Sepak bola Tinggi Knibb"; var stringDua = stringSatu.concat("aturan."); // "Peraturan sepak bola Knibb High"

Beberapa string dapat diteruskan ke concat() , dan mereka akan muncul dalam string yang dihasilkan dalam urutan yang ditambahkan ke metode concat() .

VarstringSatu = "Knibb"; var stringDua = "Tinggi"; var stringThree = "sepak bola"; var stringFour = "aturan."; var finalString = stringSatu.concat(stringDua, stringTiga, stringFour); console.log(finalString); // "Peraturan sepakbola tinggi Knibb."

Bagian dari string (ekstrak substring dalam javascript)

Ada tiga cara berbeda untuk membuat string baru dengan "menarik" bagian substring dari string yang sudah ada.

Menggunakan irisan() :

Var stringSatu = "abcdefghijklmnopqrstuvwxyz"; var stringDua = stringSatu.slice(5, 10); // "fghij"

Menggunakan substring() :

Var stringSatu = "abcdefghijklmnopqrstuvwxyz"; var stringDua = stringSatu.substring(5, 10); // "fghij"

Untuk kedua metode (slice() dan substring()), argumen pertama adalah posisi karakter di mana substring dimulai (dihitung dari 0), argumen kedua adalah posisi karakter di mana substring berakhir, dengan karakter yang ditunjuk di argumen kedua tidak termasuk dalam substring yang dikembalikan.

Menggunakan substr() :

Var stringSatu = "abcdefghijklmnopqrstuvwxyz"; var stringDua = stringSatu.substr(5, 10); // "fghijlmno"

Untuk metode substr, argumen pertama juga menentukan posisi karakter di mana substring dimulai. Argumen kedua adalah opsional. Tetapi pada saat yang sama, argumen kedua menentukan jumlah karakter yang harus dimasukkan ke dalam substring, mulai dari posisi yang sudah kita tentukan di argumen pertama. Teknik ini diilustrasikan dengan baik dalam contoh di atas.

Ubah string menjadi huruf kecil atau huruf besar dalam javascript

Ada empat metode untuk melakukan transformasi yang diperlukan. Two untuk mengonversi karakter string menjadi huruf besar.

Var stringOne = "Bicaralah, aku tidak bisa mendengarmu."; var stringTwo = stringOne.toLocaleUpperCase(); // "BICARALAH, SAYA TIDAK BISA MENDENGAR ANDA" var stringThree = stringOne.toUpperCase(); // "BICARALAH, AKU TIDAK BISA MENDENGARMU"

Dan dua untuk mengubah string menjadi huruf kecil:

Var stringOne = "ANDA TIDAK HARUS BERTERIAK"; var stringTwo = stringOne.toLocaleLowerCase(); // "Anda tidak perlu berteriak" var stringThree = stringOne.toLowerCase(); // "kamu tidak perlu berteriak"

Secara umum, tidak ada perbedaan antara metode lokal dan metode non-lokal, tetapi "untuk beberapa bahasa, seperti bahasa Turki, yang huruf kapitalnya tidak mengikuti kasus sistem Unicode, konsekuensi menggunakan metode non-lokal mungkin berbeda." Oleh karena itu, ikuti aturan berikut: "jika Anda tidak mengetahui bahasa kode yang akan digunakan, lebih aman menggunakan metode lokal."

Pencocokan pola dalam javascript

Anda dapat memeriksa keberadaan pola dalam string menggunakan 2 metode.

Metode match() dipanggil pada objek string, dan ekspresi reguler diteruskan sebagai argumen ke metode match().

Var myString = "Berapa banyak kayu yang bisa dicacah kayu"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["kayu"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "Berapa banyak kayu yang bisa dibuang oleh kayu"

Dan metode exec() dipanggil pada objek RegExp, string diteruskan sebagai argumen:

Var myString = "Berapa banyak kayu yang bisa dicacah kayu"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "Berapa banyak kayu yang bisa dibuang oleh kayu"

Kedua metode mengembalikan kemunculan pertama yang cocok. Jika tidak ditemukan kecocokan, NULL akan dikembalikan. Jika ekspresi reguler memiliki flag " g ", maka array yang berisi semua kecocokan akan dikembalikan sebagai hasilnya.

Anda juga bisa menggunakan metode search() , yang menggunakan ekspresi reguler sebagai argumen dan mengembalikan posisi awal dari pola pertama yang cocok.

Var myString = "Asumsikan"; var patternLocation = myString.search(/ume/); // 3

Jika tidak ditemukan kecocokan, metode akan mengembalikan -1.

Membandingkan dua string untuk penyortiran selanjutnya

Untuk membandingkan dua string berdasarkan urutan lokal, Anda dapat menggunakan metode localeCompare. Metode localeCompare mengembalikan tiga kemungkinan nilai.

MyString = "ayam"; var myStringTwo = "telur"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (kecuali Chrome, yang mengembalikan -2) whichCameFirst = myString.localeCompare("chicken"); // 0 yang DatangPertama = myString.localeCompare("apel"); // 1 (Chrome mengembalikan 2)

Seperti yang ditunjukkan di atas, nilai negatif akan dikembalikan jika string asli diurutkan sebelum argumen string, jika argumen string diurutkan setelah string asli, +1 dikembalikan. Jika null dikembalikan, kedua string tersebut setara.

Salam untuk semua pembaca situs blog Pada artikel ini kita akan melihat objek jscript bawaan - String, yang bertanggung jawab untuk pemrosesan teks.

Kelas internal js String dari bahasa pemrograman server skrip menyediakan metode untuk bekerja dengan string, seperti pencarian substring, parsing, atau penggantian. Ia memiliki satu properti panjang, yang mengembalikan panjang string. Harus diingat bahwa . Tidak perlu menggunakan kata kunci dan String baru untuk mendeklarasikan kelas.

Mari kita lihat contoh sederhana:

// js Objek string // length_string.js //************************************* var s1, s2; s1 = "teks biasa" ; s2 = new String("teks biasa" ); WScript.Echo(s1.panjang + " \N"+ s2.panjang );

Kami melihat bahwa di sini kami telah mendeklarasikan dua variabel s1 dan s2, keduanya menyimpan nilai teks " teks biasa", dengan menggunakan properti panjang, kami menentukan panjangnya. Seperti yang Anda lihat, Anda dapat menggunakan format yang disederhanakan dan format yang lebih rumit (kata kunci baru).

Mari kita lihat metode utama dari kelas String.

Metode kelas string JS

s.charAt(indeks)– Dapatkan karakter pada indeks yang diberikan (indeks) dari s.

s.charCodeAt(indeks)– Kami mengekstrak kode karakter yang diberikan dalam pengkodean Unicode melalui indeksnya (indeks) dari s.

s1.concat(s2)– Penggabungan (penyatuan) s1 dan s2.

String.fromCharCode(c1,...,cN)- Hasilkan string unicode. Alih-alih simbol, kami meresepkan kode Unicode.

//************************************* // js objek String // Membentuk string// dariCharCode_string.js //************************************* varMyResult; // mengembalikan halo MyResult = String .fromCharCode (104 , 101 , 108 , 108 , 111 ); WScript.Echo(HasilSaya) ;

s.indexOf(substr, startindex)– Metode kelas String js ini memungkinkan Anda untuk mencari substring substr di string s. Parameter startindex menentukan nomor karakter untuk memulai pencarian, jika parameter ini tidak ada, maka pencarian dilakukan dari awal. Prosesnya sendiri terjadi dari kiri ke kanan. indexOf mengembalikan angka - indeks karakter tempat kejadian ditemukan, jika tidak ada yang ditemukan, maka -1 akan dikembalikan. Jangan lupakan itu penomoran karakter dimulai dari nol.

//************************************* // objek String js // Cari dalam string // indexOf_string.js //************************************* varMyStr= "satu, dua, tiga dan empat", Hasil Saya; MyResult= MyStr.indexOf ("dua" , 2 ); WScript.Echo(HasilSaya) ;

s.lastIndexOf(substr, indeks awal)– Mirip dengan indexOf, tetapi kami akan mencari dalam urutan terbalik.

s.pertandingan(rgExp)- Metode js dari kelas String ini memungkinkan Anda untuk mencari teks menggunakan ekspresi reguler (rgExp). Akibatnya, array yang berisi hasil akan diperoleh. Elemen pertama dari array adalah teks yang ditemukan, yang kedua adalah substring yang sesuai dengan subekspresi pertama, yang ketiga adalah substring yang sesuai dengan subekspresi kedua, dan seterusnya. Misalnya, kita akan melihat skrip yang mem-parsing url.

//************************************* // String js // parsing alamat url// match_string.js //************************************* var url = /(\w+):\/\/([\w.]+)\/(\S*)/ ; var teks = "Halaman internet http://www.site/~vladimir"; var result = text.match (url) , index, list= "" if (result != null ) ( for (var index in result) ( list+= result[ index] + " \N"; ) ) WScript.Echo (daftar) ;

s.slice(mulai, )– Dapatkan bagian dari teks, parameter awal Dan akhir menentukan posisi awal dan akhir, masing-masing, dan bilangan bulat.

s.split(str)– Pisahkan teks menjadi substring dan tulis sebagai . Parameter str mendefinisikan karakter simbolik, yang merupakan tanda dimulainya pemisahan. Pada output, kami mendapatkan sebuah array.

//************************************* // String objek js // parsing string ke dalam array// split_string.js //************************************* var MyStr2, HasilSaya1, indeks, daftar= "" ; MyStr2 = "pertama kedua ketiga keempat"; MyResult1 = MyStr2.split (", " ); untuk (var indeks di MyResult1) ( list+= MyResult1[ index] + " \N"; ) WScript.Echo (daftar);

s.substr(mulai[,panjang])– Mirip dengan irisan, tetapi di sini kami tidak menentukan indeks akhir, tetapi panjangnya.

s.substring(indeks1, indeks2)– Memungkinkan Anda mendapatkan substring dari string yang diberikan s. substring tidak mengubah nilai aslinya. Parameter menentukan posisi karakter awal dan akhir.

Ketika Anda menulis JavaScript, sangat sering Anda harus menjelajahi Internet untuk mencari informasi tentang sintaks dan parameter untuk metode yang bekerja dengan string.

Saya telah membaca banyak artikel tentang bekerja dengan string. Posting ini akan menunjukkan contoh dan deskripsi singkat tentang metode paling umum untuk bekerja dengan string. Saya mencoba menempatkan metode yang paling umum di atas untuk referensi cepat.

Tentu saja, sebagian besar pengembang berpengalaman sudah cukup akrab dengan banyak metode, tetapi menurut saya ini adalah daftar yang bagus bagi pemula untuk memahami berbagai metode yang dapat membantu menyelesaikan operasi rumit dengan cara sederhana.

Konversikan ke Tali

Anda dapat mengonversi angka, ekspresi boolean, atau objek menjadi string:

var Nomorku = 24; // 24 var myString = myNumber.toString(); // "24"

Anda dapat melakukannya dengan cara yang sama Rangkaian():

var Nomorku = 24; // 24 var myString = String(myNumber); // "24"

Jika Anda tidak yakin bahwa nilainya tidak batal atau belum diartikan, Anda dapat gunakan Rangkaian(), yang selalu mengembalikan string, apa pun jenis nilainya.

Memisahkan string menjadi substring

Untuk membagi string menjadi array substring, Anda dapat menggunakan metode ini membelah():

Var myString = "datang,terpisah,pada,koma"; var substringArray = myString.split(","); // ["datang", "terpisah", "di", "yang", "koma"] var arrayLimited = myString.split(",,", 3); // ["datang", "berpisah", "di"]

Seperti yang Anda lihat di baris terakhir, parameter kedua dari fungsi adalah batas jumlah elemen yang akan ada di array terakhir.

Mendapatkan panjang string

Untuk mengetahui berapa banyak karakter dalam sebuah string, kami menggunakan properti panjang:

Var myString = "Kamu adalah karakter yang bagus."; var stringLength = myString.length; // 25

Menemukan substring dalam sebuah string

Ada dua metode untuk mencari substring:

Penggunaan Indeks():

Var stringSatu = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

Indeks() metode mulai mencari substring dari awal string, dan mengembalikan posisi awal kemunculan pertama dari substring. Dalam hal ini, nomor 7.

Penggunaan lastIndexOf():

Var stringSatu = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Metode mengembalikan posisi awal kemunculan terakhir dari substring dalam string.

Kedua metode mengembalikan -1 jika substring tidak ditemukan, dan keduanya menggunakan argumen opsional kedua yang menunjukkan posisi dalam string tempat Anda ingin mulai mencari. Jadi, jika argumen kedua adalah "5", Indeks() mulai mencari di karakter 5, mengabaikan karakter 0-4, sementara lastIndexOf() mulai mencari di karakter 5 dan mundur, mengabaikan karakter 6 dan seterusnya.

Penggantian substring

Untuk mengganti kemunculan substring dalam string dengan substring lain, Anda dapat menggunakan mengganti():

Var slugger = "Josh Hamilton"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Jose Bautista"

Argumen pertama adalah yang ingin Anda ganti dan argumen kedua adalah string baru. Fungsi hanya menggantikan kemunculan pertama dari substring dalam sebuah string.

Untuk mengganti semua kemunculan, Anda perlu menggunakan ekspresi reguler dengan bendera global:

Var myString = "Dia menjual kerang otomotif di pantai otomotif"; var newString = myString.replace(/automotive/g, "laut"); log konsol(newString); // "Dia menjual kerang laut di tepi laut"

Argumen kedua dapat menyertakan templat atau fungsi khusus. Selengkapnya bisa dibaca.

Dapatkan karakter pada posisi tertentu dalam sebuah string

Kita bisa mendapatkan karakter menggunakan fungsi charAt():

Var myString = "Burung Berbulu"; var whatsAtSeven = myString.charAt(7); // "F"

Seperti yang sering terjadi di JavaScript, posisi pertama dalam sebuah string dimulai dari 0, bukan 1.

Sebagai fungsi alternatif, Anda dapat menggunakan charCodeAt() fungsi, yang merupakan kode karakter.

Var myString = "Burung Berbulu"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

Perhatikan bahwa kode untuk karakter "F" (posisi 11) berbeda dengan karakter "f" (posisi 7).

Menggabungkan string

Dalam kebanyakan kasus, Anda dapat menggunakan operator "+" untuk menggabungkan string. Tetapi Anda juga dapat menggunakan metode ini menggabungkan():

Var stringOne = "Sepak bola Tinggi Knibb"; var stringDua = stringSatu.concat("aturan."); // "Peraturan sepak bola Knibb High"

Dengan cara ini, kita dapat menggabungkan banyak baris menjadi satu sesuai urutan penulisannya:

VarstringSatu = "Knibb"; var stringDua = "Tinggi"; var stringThree = "sepak bola"; var stringFour = "aturan."; var finalString = stringSatu.concat(stringDua, stringTiga, stringFour); console.log(finalString); // "Peraturan sepakbola tinggi Knibb."

Mengekstrak substring

Ada 3 cara untuk mendapatkan string dari bagian string lain:

Menggunakan mengiris():

Var stringSatu = "abcdefghijklmnopqrstuvwxyz"; var stringDua = stringSatu.slice(5, 10); // "fghij"

Menggunakan substring():

Var stringSatu = "abcdefghijklmnopqrstuvwxyz"; var stringDua = stringSatu.substring(5, 10); // "fghij"

Dalam kedua fungsi, parameter pertama adalah karakter dari mana substring dimulai (mulai dari posisi 0) dan argumen kedua (opsional) adalah posisi karakter hingga substring dikembalikan. Contoh (5, 10) mengembalikan string antara posisi 5 dan 9.

Menggunakan substr():

Var stringSatu = "abcdefghijklmnopqrstuvwxyz"; var stringDua = stringSatu.substr(5, 10); // "fghijlmno"

Argumen pertama adalah posisi karakter dari mana baris baru dimulai dan argumen kedua adalah jumlah karakter dari posisi awal baris baru. Itu. (5, 10) mengembalikan 10 karakter mulai dari posisi 5.

Mengonversi string menjadi huruf besar atau kecil.

Ada 4 metode untuk menerjemahkan. 2 yang pertama mengubah string menjadi huruf besar:

Var stringOne = "Bicaralah, aku tidak bisa mendengarmu."; var stringTwo = stringOne.toLocaleUpperCase(); // "BICARALAH, SAYA TIDAK BISA MENDENGAR ANDA" var stringThree = stringOne.toUpperCase(); // "BICARALAH, AKU TIDAK BISA MENDENGARMU"

2 lainnya mengubah string menjadi huruf kecil:

Var stringOne = "ANDA TIDAK HARUS BERTERIAK"; var stringTwo = stringOne.toLocaleLowerCase(); // "Anda tidak perlu berteriak" var stringThree = stringOne.toLowerCase(); // "kamu tidak perlu berteriak"

Lebih baik menggunakan metode "lokal", seperti di tempat yang berbeda, misalnya di Turki, tampilan register tidak berfungsi seperti biasanya, dan oleh karena itu hasilnya mungkin seperti yang kita inginkan. Jika Anda menggunakan metode "lokal", maka tidak akan ada masalah seperti itu.

pencocokan pola

Pencocokan pola dalam sebuah string dapat digunakan dengan 2 metode yang bekerja dengan cara yang berbeda.

metode cocok() diterapkan ke string dan dibutuhkan ekspresi reguler sebagai parameter:

Var myString = "Berapa banyak kayu yang bisa dicacah kayu"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["kayu"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "Berapa banyak kayu yang bisa dibuang oleh kayu"

metode eksekusi() diterapkan ke objek ekspresi reguler dan menggunakan string sebagai parameter:

Var myString = "Berapa banyak kayu yang bisa dicacah kayu"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "Berapa banyak kayu yang bisa dibuang oleh kayu"

Kedua metode hanya mengembalikan kecocokan pertama. Jika tidak ada kecocokan, kembalikan batal.

Anda juga dapat menggunakan metode ini mencari(), yang menggunakan ekspresi reguler dan mengembalikan posisi kecocokan pertama dari pola:

Var myString = "Asumsikan"; var patternLocation = myString.search(/ume/); // 3

Jika tidak ada kecocokan, itu kembali " -1 «.

Membandingkan dua string untuk penyortiran

Anda dapat membandingkan 2 string untuk menentukan mana yang lebih dulu menurut abjad. Untuk melakukan ini, kami menggunakan metode perbandingan lokal(), yang mengembalikan 3 kemungkinan nilai:

Var myString = "ayam"; var myStringTwo = "telur"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (Chrome mengembalikan -2) whichCameFirst = myString.localeCompare("ayam"); // 0 yang DatangPertama = myString.localeCompare("apel"); // 1 (Chrome mengembalikan 2)

Seperti yang ditunjukkan di atas, angka negatif dikembalikan jika argumen string muncul setelah string asli. Angka positif jika argumen string muncul sebelum string asli. Jika dikembalikan 0 berarti string adalah sama.

Untuk memeriksa nilai pengembalian, lebih baik menggunakan if (result< 0), чем if (result === -1). Последнее не будет работать в Chrome.

Terima kasih atas perhatian Anda, saya harap Anda telah belajar banyak hal baru dan menarik!

Penulis artikel: Alex. Kategori:
Tanggal publikasi: 19/03/2013