Cara substring di jquery

115

Bagaimana saya bisa menggunakan jquery di sisi klien untuk membuat substring "nameGorge" dan menghapus "name" sehingga hanya menghasilkan "Gorge"?

var name = "nameGorge"; //output Gorge
Jurang
sumber
15
jQuery adalah perpustakaan yang ditulis dalam JavaScript. Ini digunakan di atas JavaScript. Apa yang Anda minta bisa dilakukan dalam JavaScript tanpa perlu menggunakan pustaka jQuery sama sekali.
Jeff
1
jQuery IS JavaScript (perpustakaan JavaScript tepatnya, tetapi JavaScript, bagaimanapun juga). Karena itu, saya tidak berpikir menggunakan jQuery untuk mendapatkan substring bisa ditulis lebih mudah daripada yang sudah ada di JavaScript langsung.
VoidKing

Jawaban:

235

Tidak perlu jQuery! Cukup gunakan metode substring:

var gorge = name.substring(4);

Atau jika teks yang ingin Anda hapus tidak statis:

var name = 'nameGorge';
var toRemove = 'name';
var gorge = name.replace(toRemove,'');
Justin Niessner
sumber
5
Maaf, tidak menyangka ini akan meledak begitu keras setelah aku pergi tidur. Aku sudah membersihkannya sedikit. Sementara itu, seseorang perlu membaca ini
BoltClock
Hey BoltClock: Bagaimana kabarmu? Saya mencoba untuk membuktikan satu hal di sini, terima kasih banyak .. jadi itu berarti jika saya mencoba mengubah kode untuk klien, dan saya datang ke sini untuk mencari jawaban, dan jawaban yang ditandai dari operasi memuaskan baginya. . maka saya tidak bisa begitu saja memposting pertanyaan yang sama atau memberikan contoh masalah saya .. sangat menarik .. jadi pertanyaan saya seperti bagaimana orang-orang ini begitu yakin bahwa jika saya menjalankan fungsi jQuery dan di dalamnya saya menggunakan .split saya mengacu pada cara JS asli atau semacam tunneling atau proxy untuk memicunya melalui jQuery. Juga jika Anda membaca pertanyaannya.
Jean Paul AKA el_vete
Maksud saya adalah bahwa bagi saya bekerja dalam namespace jQuery, saya benar-benar tidak terlalu peduli jika kasusnya adalah yang memanggil string.split langsung dari JS, tetapi sebaliknya dari komunitas saya telah memahami bahwa jika saya memposting pertanyaan yang tepat itu, itu akan ditandai sebagai dipersempit, karena tanggapan ini lebih diterima daripada fakta bahwa ada referensi dokumentasi jQuery.split di suatu tempat bagi saya setidaknya memberi tahu saya bahwa itu harus ada karena itu ada di sana tanpa memberikan konflik apa pun pada kode saya dan semua jQuery plugin bahwa pada gambar yang dihapus Anda dapat melihat ... jadi terima kasih sekali lagi
Jean Paul AKA el_vete
5
@JeanPaul - jQuery tidak memiliki split (). Kami sudah membahas ini. Kedua artikel yang Anda tautkan ke text () sebelumnya digunakan untuk mendapatkan string JavaScript vanilla dan kemudian disebut string.split (). Anda benar-benar salah dalam kasus ini. Jatuhkan.
Justin Niessner
52

Menggunakan .split(). (Versi kedua menggunakan .slice()dan .join()di Array.)

var result = name.split('name')[1];
var result = name.split('name').slice( 1 ).join(''); // May be a little safer

Menggunakan .replace().

var result = name.replace('name','');

Menggunakan .slice()di String.

var result = name.slice( 4 );
pengguna113716
sumber
jquery tidak mendukung replace. Ini adalah Vanilla js
Jude
9

Itu hanya JavaScript biasa: lihat substringdan substr.

casablanca
sumber
1
Atau memang slice(). Strange JS seharusnya memiliki banyak cara untuk mengatakan hal yang sama, semuanya sedikit berbeda. slice()adalah metode pilihan saya karena ia berperilaku konsisten dengan slice()pada array, dan memungkinkan indeks awal dan akhir negatif untuk indeks-dari-akhir.
sejak
@bobince: Benar, dan saya tidak pernah ingat yang mana dari substringdan yang substrmengambil parameter panjang dan mana yang mengambil indeks akhir - saya selalu perlu mencari dokumen untuk mencari tahu.
casablanca
4

Anda tidak perlu jquery untuk melakukan itu.

var placeHolder="name";
var res=name.substr(name.indexOf(placeHolder) + placeHolder.length);
Maurizio Cucchiara
sumber
Saya perlu melakukannya di sisi klien dan saya sudah memiliki jquery. Lalu apa yang Anda sarankan? Maaf untuk pertanyaan sederhananya, tapi saya cukup pemula dengan js dan jquery.
Gorge
Pernyataan itu akan menghasilkan "nameGorge" karena indexOf ("name") akan
menghasilkan
2
var name = "nameGorge";
name.match(/[A-Z].*/)[0]

sumber
0

Ya, Anda bisa, meskipun itu bergantung pada fungsionalitas bawaan Javascript dan bukan pustaka jQuery.

http://www.w3schools.com/jsref/jsref_substr.asp The substrfungsi akan memungkinkan Anda untuk mengambil bagian-bagian tertentu dari string.

Sekarang, jika Anda mencari string atau karakter tertentu untuk digunakan untuk menemukan bagian mana dari string yang akan diekstrak, Anda juga dapat menggunakan fungsi indexOf. http://www.w3schools.com/jsref/jsref_IndexOf.asp

Pertanyaannya agak kabur; bahkan hanya teks tautan dengan 'nama' akan mencapai hasil yang diinginkan. Apa kriteria untuk mendapatkan substring Anda?

aaronofleonard
sumber
1
Mengapa Anda menautkan ke strposfungsi PHP dalam pertanyaan tentang JavaScript?
casablanca
Anda benar, terlalu banyak PHP untuk saya hari ini. Saya telah mengedit dengan setara JS yang sesuai. Terima kasih sudah menangkapnya.
aaronofleonard
-1

Bagaimana dengan berikut ini?

<script charset='utf-8' type='text/javascript'>
  jQuery(function($) { var a=$; a.noConflict();
    //assumming that you are using an input text 
    //  element with the text "nameGorge"
    var itext_target = a("input[type='text']:contains('nameGorge')");
    //gives the second part of the split which is 'Gorge'
    itext_target.html().split("nameGorge")[1];
    ...
  });
</script>
Jean Paul AKA el_vete
sumber