Substring masuk JS. Metode JavaScript untuk bekerja dengan baris

Ketika saya menulis kepada Javascript, maka Anda harus sering merujuk ke mesin pencari, untuk mengklarifikasi sintaks metode (dan pesanan, definisi argumen) bekerja dengan baris.

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

Kami berubah menjadi string

Anda dapat mengonversi angka, nilai boolean atau objek dalam string.

Var mynumber \u003d 24; // 24 var mystering \u003d mynumber.tostring (); // "24"

Anda juga dapat melakukan manipulasi serupa menggunakan fungsi string ().

Var mynumber \u003d 24; // 24 var mystring \u003d string (mynumber); // "24"

Nicholas Svas mengatakan: "Jika Anda tidak yakin tentang nilainya (null atau tidak ditentukan), maka gunakan fungsi string (), karena mengembalikan string dalam independensi dari jenis variabel."

tidak terdefinisi. berarti bahwa variabel tidak ditetapkan nilai apa pun, a bATAL - Apa yang ditugaskan ke nilai kosongnya (dapat dikatakan bahwa nol didefinisikan sebagai objek kosong).

Kami membagi string ke substring

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

Var mystring \u003d "datang, terpisah, di, koma"; var substringArray \u003d mystring.split (","); // ["datang", "terpisah", "at", "the", "koma"] var arraylimited \u003d mystring.split (",", 3); // ["datang", "terpisah", "at"]

Sebagai berikut dari baris terakhir, nilai argumen opsional kedua menentukan jumlah elemen pada array yang dikembalikan.

Dapatkan panjang string

Menggunakan Properti Panjang, Anda dapat menemukan jumlah karakter Unicode di baris:

Var mystring \u003d "Anda" kembali karakter. "; Var stringlength \u003d mystring.length; // 25

Tentukan substring dalam string

Ada dua cara untuk dikandung:

Gunakan indexof ():

Var stringone \u003d "Johnny Waldo Harrison Waldo"; Var whereswaldo \u003d stringone.indexof ("waldo"); //7.

Metode IndexOf () sedang mencari substring (argumen pertama yang dikirim) dalam string (dari awal baris) dan mengembalikan posisi karakter pertama dari mana para pengusaha mulai memasuki string.

Gunakan lastindexof ():

Var stringone \u003d "Johnny Waldo Harrison Waldo"; Var whereswaldo \u003d stringone.lastindexof ("waldo"); // 22.

Metode lastindexof () melakukan semua sama, kecuali bahwa itu mencari pengganti terakhir untuk memasuki string.

Dalam hal substring tidak ditemukan kedua metode kembali -1. Argumen opsional kedua menunjukkan posisi dalam string yang Anda inginkan untuk memulai pencarian. Jadi, jika untuk metode indeks () argumen kedua adalah 5, maka pencarian akan dimulai dari karakter ke-5, dan 0-4 karakter akan diabaikan. Untuk LastEndexof (), juga jika argumen kedua adalah 5, pencarian akan dimulai pada arah yang berlawanan, dan simbol-simbol dari ke-6 dan di atas akan diabaikan.

Cara mengganti bagian dari string

Untuk mengganti bagian (atau bahkan semua) string, gunakan metode ganti ().

Var slugger \u003d "josh hamilton"; Var betterlugger \u003d slugger.replace ("h hamilton", "e Bautista"); Konsol.log (Betterslugger); // "Jose Bautista"

Argumen pertama berisi bagian dari substring yang tunduk pada penggantian; Argumen kedua adalah garis yang akan naik ke tempat substring yang dapat diganti. Hanya contoh pertama dari substring yang akan diganti.

Untuk mengganti semua entri substring, gunakan ekspresi reguler dengan bendera "G".

Var mystring \u003d "Dia menjual cangkang otomotif di pantai otomotif"; var newstring \u003d mystring.replace (/ otomotif / g, "laut"); Konsol.log (Newstring); // "Dia menjual kerang laut di pantai"

Argumen kedua dapat mencakup zat atau fungsi yang dapat diganti.

Temukan karakter pada posisi tertentu

Untuk mengetahui karakter mana yang ada dalam posisi tertentu, Anda dapat menggunakan metode Charat ():

Var mystring \u003d "Burung-burung dari bulu"; var whatsateven \u003d mystring.charat (7); // "f"

Seperti yang sering terjadi pada JavaScript, posisi pertama memimpin hitungan mundurnya sendiri dari 0, dan tidak dengan 1.

Sebagai alternatif, Anda dapat menggunakan metode charcodeat (), tetapi alih-alih simbol itu sendiri Anda akan menerima kodenya.

Var mystring \u003d "Burung-burung dari bulu"; Var whatsateven \u003d mystring.charcodeat (7); // "102" var whatsateven \u003d mystring.charcodeat (11); // "70"

Perhatikan bahwa kode untuk huruf besar (posisi 11) berbeda dari kode huruf yang sama, tetapi dalam register kecil (Posisi 7).

Gabungan string dalam JavaScript

Sebagian besar untuk gabungan garis, Anda akan menggunakan operator (+). Tetapi Anda juga dapat menggabungkan string menggunakan metode concat ().

Var stringone \u003d "Knibb High Football"; Var stringtwo \u003d stringone.concat ("aturan"); // "Knibb aturan sepakbola tinggi"

Dalam CONTRAT (), Anda dapat mentransfer satu set jamak, dan di baris yang dihasilkan mereka akan diatur untuk menambahkannya ke metode concat ().

Var stringone \u003d "Knibb"; Var stringtwo \u003d "tinggi"; Var stringthree \u003d "sepakbola"; Var stringfor \u003d "aturan"; var finalstring \u003d stringone.concat (stringtwo, stringthtree, stringfour); Konsol.log (finalstring); // "Knibb aturan sepakbola tinggi."

Bagian dari garis (ekstrak pengganti dalam Javascript)

Ada tiga cara berbeda untuk membuat string baru, "menarik keluar" bagian dari substring dari string yang sudah tersedia.

Menggunakan irisan ():

Var stringone \u003d "abcdefghijklmnopqrstuvwxyz"; Var stringtwo \u003d stringone.slice (5, 10); // "fghij"

Menggunakan substring ():

Var stringone \u003d "abcdefghijklmnopqrstuvwxyz"; Var stringtwo \u003d stringone.substring (5, 10); // "fghij"

Untuk metode (slice () dan substring), argumen pertama adalah posisi simbol dari mana substring dimulai (hitungan mundur dilakukan dari 0), argumen kedua adalah posisi simbol di mana substring berakhir , dan simbol yang ditunjuk dalam argumen kedua, tidak termasuk dalam substring yang dikembalikan.

Menggunakan Substr ():

Var stringone \u003d "abcdefghijklmnopqrstuvwxyz"; Var stringtwo \u003d stringone.substr (5, 10); // "fghijklmno"

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

Konversi string ke bawah atau register atas pada JavaScript

Ada empat metode untuk membuat konversi yang diperlukan. Dua untuk mengkonversi karakter string ke register atas.

Var stringone \u003d "Bicaralah, saya tidak dapat mendengar Anda."; Var stringtwo \u003d stringone.tolocaleppercase (); // "berbicara, saya dapat mendengar Anda" var stringthree.toupvercase (); // "Bicaralah, aku bisa mendengarmu"

Dan dua untuk mengkonversi string ke huruf kecil:

Var stringone \u003d "Anda tidak harus berteriak"; var stringtwo \u003d stringone.tolocalelkase (); // "Anda tidak harus berteriak" var stringthree \u003d stringone.tolowercase (); // "kamu tidak harus berteriak"

Sebagai aturan, tidak ada perbedaan antara metode lokal dan metode non-lokal, namun, misalnya, misalnya, untuk Turki, yang daftar simbolnya tidak mengikuti register yang ditetapkan dalam sistem Unicode, konsekuensi penggunaannya Metode non-lokal dapat berbeda. " Jadi ikuti aturan berikut: "Jika Anda tidak tahu bahasa di mana kode akan bekerja, lebih aman untuk menggunakan metode lokal."

Template yang cocok dalam javascript

Anda dapat memeriksa keberadaan templat berturut-turut menggunakan 2 metode.

Metode Match () disebut dari objek String, ekspresi reguler ditransmisikan sebagai argumen.

Var string saya \u003d "berapa banyak kayu yang bisa chuck chuck chuck"; var mypattern \u003d /.ood/; var myresult \u003d mystring.match (mypattern); // ["kayu"] var polelocation \u003d myresult.index; // 9 var originalstring \u003d myresult.input // "Berapa banyak kayu yang bisa chuck chuck chuck"

Dan exec () Metode ini disebut oleh objek regexp, string ditransmisikan sebagai argumen:

Var string saya \u003d "berapa banyak kayu yang bisa chuck chuck chuck"; var mypusaha \u003d /.huck/; var myresult \u003d mypusaha.exec (mystring); // ["chuck"] var politlocation \u003d myresult.index; // 27 var originalstring \u003d myresult.input // "Berapa banyak kayu yang bisa chuck chuck kayu"

Kedua metode mengembalikan entri pertama yang bertepatan. Jika kebetulan tidak ditemukan, NULL akan dikembalikan. Jika ekspresi reguler memiliki bendera "g", maka array yang berisi semua kebetulan akan dikembalikan sebagai hasilnya.

Anda juga dapat menggunakan metode pencarian (), yang sebagai argumen mengambil ekspresi reguler dan mengembalikan posisi awal template bertepatan pertama.

Var mystring \u003d "berasumsi"; var polelocation \u003d mystring.search (/ ume /); // 3.

Jika tidak ada kebetulan yang ditemukan, metode ini akan kembali -1.

Perbandingan dua baris untuk penyortiran selanjutnya

Untuk membandingkan dua baris tergantung pada urutan penyortiran dalam standar bahasa, Anda dapat menggunakan metode LocalCompare. Metode lokalCompare mengembalikan tiga nilai yang mungkin.

Mystring \u003d "ayam"; Var mystringtwo \u003d "telur"; var thatcamefirst \u003d mystring.localecompare (mystringtwo); // -1 (kecuali chrome, yang mengembalikan -2) manakah fefirst \u003d mystring.localecompare ("ayam"); // 0 manirfirst \u003d mystring.localecompare ("apple"); // 1 (Kembali Chrome 2)

Seperti yang ditunjukkan di atas, nilai negatif akan dikembalikan jika string asli selama penyortiran ternyata sebelum argumen string jika argumen string saat penyortiran ternyata setelah baris asli, nilainya adalah +1. Jika nilai nol dikembalikan, kedua baris setara.

Metode Termasuk () menentukan apakah satu string dapat ditemukan di string lain yang mengembalikan true atau false jika perlu.

Sintaks: -string.includes (SearchString [, POSISI])

searchString: - String yang ingin Anda cari di dalam baris ini.

posisi: - Tambahan. Posisi di baris ini di mana SearchString harus dicari; Default 0.

String \u003d "lol"; Konsol.log (string.includes ("lol")); // mengembalikan false console.log (string.includes ("lol")); // mengembalikan BENAR.

Saya memiliki keranjang belanja yang menampilkan parameter produk di menu drop-down, dan jika mereka memilih "Ya", saya ingin membuat beberapa bidang lain pada halaman yang terlihat.

Masalahnya adalah bahwa keranjang belanja juga termasuk dalam pengubah harga dalam teks yang mungkin berbeda untuk setiap produk. Kode berikut ini berfungsi:

$ (Dokumen) .Ready (fungsi () ($ ("pilih"). Ubah ("Pilih opsi: Dipilih"). Teks (); jika (str \u003d\u003d "Ya ($ 6,95)") ($ 6,95) ") Ukiran "). Tampilkan ();) lain ($ (" ukiran "). Sembunyikan ();)));););

Namun, saya lebih suka menggunakan sesuatu seperti ini, yang tidak berfungsi:

$ (DOKUMEN) .READY (FUNGSI () ($ ("Pilih"). Ubah ("Pilih opsi: Dipilih"). Teks (); if (str * \u003d "ya") ($ (". Ukiran"). tampilkan ();) lain ($ (". ukiran"). Sembunyikan ();)))););

Saya hanya ingin melakukan tindakan jika opsi yang dipilih berisi kata "ya" dan mengabaikan pengubah harga.

Ketika Anda menulis Javascript.Seringkali memanjat Internet untuk mencari informasi sintaks dan parameter untuk metode yang bekerja dengan garis.

Saya membaca banyak artikel tentang bekerja dengan baris. Dalam posting ini, contoh dan deskripsi singkat tentang metode yang paling umum untuk bekerja dengan baris akan ditampilkan. Saya mencoba untuk menempatkan metode yang paling sering di bagian atas untuk pengenalan cepat.

Tentu saja, sebagian besar pengembang berpengalaman sudah terbiasa dengan banyak metode, tetapi saya pikir ini adalah daftar yang baik untuk pemula untuk memahami spektrum metode yang dapat membantu melakukan operasi yang kompleks dengan cara sederhana.

Konversi ke string.

Anda dapat mengonversi angka, ekspresi atau objek boolevo dalam string:

Var mynumber \u003d 24; // 24 var mystering \u003d mynumber.tostring (); // "24"

Anda dapat melakukannya juga dengan String ():

Var mynumber \u003d 24; // 24 var mystring \u003d string (mynumber); // "24"

Jika Anda tidak yakin bahwa nilainya tidak bATAL atau tidak terdefinisi., kamu bisa memakai String ()yang selalu mengembalikan string, terlepas dari jenis nilainya.

Divisi string dalam substring

Untuk berbagi string dalam array substring, Anda dapat menggunakan metode ini split ():

Var mystring \u003d "datang, terpisah, di, koma"; var substringArray \u003d mystring.split (","); // ["datang", "terpisah", "at", "the", "koma"] var arraylimited \u003d mystring.split (",", 3); // ["datang", "terpisah", "at"]

Seperti yang dapat dilihat di baris terakhir, parameter fungsi kedua adalah batas jumlah elemen yang akan berada dalam array akhir.

Memperoleh String Panjang

Untuk menemukan berapa banyak karakter dalam string, kami menggunakan properti panjangnya:

Var mystring \u003d "Anda" kembali karakter. "; Var stringlength \u003d mystring.length; // 25

Cari substring dalam baris

Ada dua metode untuk mencari substring:

Menggunakan indeks ():

Var stringone \u003d "Johnny Waldo Harrison Waldo"; Var whereswaldo \u003d stringone.indexof ("waldo"); //7.

indeks () Metode mulai mencari substring dari awal string, dan mengembalikan posisi awal entri pertama substring. Dalam hal ini, 7 posisi.

Menggunakan Lastindexof ():

Var stringone \u003d "Johnny Waldo Harrison Waldo"; Var whereswaldo \u003d stringone.lastindexof ("waldo"); // 22.

Metode mengembalikan posisi awal substring entri terakhir ke string.

Dalam kedua metode, jika substring tidak ditemukan, nilai -1 dikembalikan, dan keduanya mengambil argumen kedua opsional yang menunjukkan posisi dalam string tempat Anda ingin memulai pencarian. Jadi, jika argumen kedua "5", indeks () mulai mencari dengan 5 karakter, mengabaikan karakter 0-4, sementara lastindexof () Mulai mencari dari simbol 5 dan pergi ke arah yang berlawanan, mengabaikan karakter 6 dan aktif.

Substring penggantian

Untuk mengganti entri substring dalam baris ke substring lain, Anda dapat menggunakannya ganti ():

Var slugger \u003d "josh hamilton"; Var betterlugger \u003d slugger.replace ("h hamilton", "e Bautista"); Konsol.log (Betterslugger); // "Jose Bautista"

Argumen pertama adalah Anda ingin mengganti dan argumen kedua adalah baris baru. Fungsi hanya menggantikan entri pertama dari substring dalam string.

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

Var mystring \u003d "Dia menjual cangkang otomotif di pantai otomotif"; var newstring \u003d mystring.replace (/ otomotif / g, "laut"); Konsol.log (Newstring); // "Dia menjual kerang laut di pantai"

Argumen kedua dapat mencakup template atau fungsi khusus. Detail dapat dibaca.

Dapatkan simbol untuk posisi tertentu dalam string

Kita bisa mendapatkan simbol menggunakan fungsi. charat ():

Var mystring \u003d "Burung-burung dari bulu"; var whatsateven \u003d mystring.charat (7); // "f"

Seperti yang sering terjadi pada JavaScript, posisi pertama dalam string dimulai dengan 0, dan tidak dengan 1.

Fitur alternatif dapat digunakan charcodeat () Fungsi yang merupakan kode simbol.

Var mystring \u003d "Burung-burung dari bulu"; Var whatsateven \u003d mystring.charcodeat (7); // "102" var whatsateven \u003d mystring.charcodeat (11); // "70"

Perhatikan bahwa kode untuk simbol "F" (11 posisi) selain simbol "F" (Posisi 7).

Lampiran

Dalam kebanyakan kasus, untuk menghubungkan garis, Anda dapat menggunakan operator "+". Tetapi Anda juga dapat menggunakan metode concat ():

Var stringone \u003d "Knibb High Football"; Var stringtwo \u003d stringone.concat ("aturan"); // "Knibb aturan sepakbola tinggi"

Dengan cara ini, kita dapat menghubungkan banyak baris menjadi satu dalam urutan di mana mereka direkam:

Var stringone \u003d "Knibb"; Var stringtwo \u003d "tinggi"; Var stringthree \u003d "sepakbola"; Var stringfor \u003d "aturan"; var finalstring \u003d stringone.concat (stringtwo, stringthtree, stringfour); Konsol.log (finalstring); // "Knibb aturan sepakbola tinggi."

Menghapus Substring

Ada 3 cara untuk mendapatkan string dari bagian dari baris lain:

Menggunakan irisan ():

Var stringone \u003d "abcdefghijklmnopqrstuvwxyz"; Var stringtwo \u003d stringone.slice (5, 10); // "fghij"

Menggunakan substring ():

Var stringone \u003d "abcdefghijklmnopqrstuvwxyz"; Var stringtwo \u003d stringone.substring (5, 10); // "fghij"

Pada keduanya, fungsi parameter pertama adalah karakter dari mana substring dimulai (dimulai dengan 0 item) dan argumen kedua (opsional) adalah posisi simbol yang dikembalikan substring. Dalam Contoh (5, 10), garis dikembalikan antara posisi 5 dan 9.

Menggunakan substr ():

Var stringone \u003d "abcdefghijklmnopqrstuvwxyz"; Var stringtwo \u003d stringone.substr (5, 10); // "fghijklmno"

Argumen pertama adalah posisi simbol dari mana baris baru dimulai dan argumen kedua adalah jumlah karakter dari posisi awal string baru. Itu. (5, 10) Mengembalikan 10 karakter, dimulai dengan 5 posisi.

Terjemahan string ke register atas atau bawah.

Ada 4 metode penerjemahan. 2 pertama menerjemahkan string ke huruf besar:

Var stringone \u003d "Bicaralah, saya tidak dapat mendengar Anda."; Var stringtwo \u003d stringone.tolocaleppercase (); // "berbicara, saya dapat mendengar Anda" var stringthree.toupvercase (); // "Bicaralah, aku bisa mendengarmu"

2 lainnya menerjemahkan string ke huruf kecil:

Var stringone \u003d "Anda tidak harus berteriak"; var stringtwo \u003d stringone.tolocalelkase (); // "Anda tidak harus berteriak" var stringthree \u003d stringone.tolowercase (); // "kamu tidak harus berteriak"

Lebih baik menggunakan metode "lokal", karena Di tempat yang berbeda, misalnya, di Turki, layar register berfungsi tidak sepenuhnya seperti yang kita terbiasa dan karenanya hasilnya bisa menjadi yang kita inginkan. Jika Anda menggunakan metode "lokal", tidak akan ada masalah seperti itu.

Pencocokan pola.

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

metode cocok () Ini berlaku untuk string dan dibutuhkan ekspresi reguler sebagai parameter:

Var string saya \u003d "berapa banyak kayu yang bisa chuck chuck chuck"; var mypattern \u003d /.ood/; var myresult \u003d mystring.match (mypattern); // ["kayu"] var polelocation \u003d myresult.index; // 9 var originalstring \u003d myresult.input // "Berapa banyak kayu yang bisa chuck chuck chuck"

metode exec () Berlaku untuk objek ekspresi reguler dan menerima string sebagai parameter:

Var string saya \u003d "berapa banyak kayu yang bisa chuck chuck chuck"; var mypusaha \u003d /.huck/; var myresult \u003d mypusaha.exec (mystring); // ["chuck"] var politlocation \u003d myresult.index; // 27 var originalstring \u003d myresult.input // "Berapa banyak kayu yang bisa chuck chuck kayu"

Dalam kedua metode, hanya kebetulan pertama yang dikembalikan. Jika tidak ada kebetulan - pengembalian bATAL.

Anda juga dapat menggunakan metode cARI ()yang mengambil ekspresi reguler dan mengembalikan posisi kebetulan pertama oleh template:

Var mystring \u003d "berasumsi"; var polelocation \u003d mystring.search (/ ume /); // 3.

Jika tidak ada kebetulan, " -1 «.

Perbandingan dua baris untuk menyortir

Anda dapat membandingkan 2 baris untuk menentukan mana yang pertama secara alfabet. Untuk melakukan ini, gunakan metode ini localCompare ()yang mengembalikan 3 nilai yang mungkin:

Var mystering \u003d "Ayam"; Var mystringtwo \u003d "telur"; var thatcamefirst \u003d mystring.localecompare (mystringtwo); // -1 (Kembali Chrome -2) manirfirst \u003d mystring.localeCompare ("Ayam"); // 0 manirfirst \u003d mystring.localecompare ("apple"); // 1 (Kembali Chrome 2)

Seperti yang ditunjukkan di atas, angka negatif dikembalikan jika argumen string muncul setelah garis asli. Angka positif jika argumen string sebelum garis sumber. Jika dikembalikan 0 - Jadi baris sama.

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

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

Artikel Penulis: Alex. Kategori:
Tanggal Publikasi: 03/19/2013