Bagaimana cara menghapus teks dari string?


Jawaban:


1157

var ret = "data-123".replace('data-','');
console.log(ret);   //prints: 123

Documents.


Untuk semua kejadian yang akan dibuang, gunakan:

var ret = "data-123".replace(/data-/g,'');

PS: Fungsi ganti mengembalikan string baru dan membiarkan string asli tidak berubah, jadi gunakan nilai pengembalian fungsi setelah panggilan replace ().


Bagaimana cara mengganti banyak ekspresi? Apakah Anda harus menggunakan beberapa panggilan .replace?
Dror Bar

124

Ini tidak ada hubungannya dengan jQuery. Anda dapat menggunakan replacefungsi JavaScript untuk ini:

var str = "data-123";
str = str.replace("data-", "");

Anda juga bisa memberikan regex ke fungsi ini. Dalam contoh berikut, ini akan menggantikan semuanya kecuali angka:

str = str.replace(/[^0-9\.]+/g, "");

Bisakah Anda jelaskan apa yang dilakukan regex? Saya tidak mengerti mengapa ini menggantikan string kecuali angka jika 0-9ditunjukkan.
terbaik

60

Anda dapat menggunakan "data-123".replace('data-','');, seperti yang disebutkan, tetapi karena replace()hanya menggantikan instance PERTAMA dari teks yang cocok, jika string Anda adalah sesuatu seperti "data-123data-"itu

"data-123data-".replace('data-','');

hanya akan mengganti teks yang cocok pertama. Dan output Anda akan menjadi"123data-"

DEMO

Jadi, jika Anda ingin semua kecocokan teks diganti dalam string, Anda harus menggunakan ekspresi reguler dengan gbendera seperti itu:

"data-123data-".replace(/data-/g,'');

Dan output Anda akan menjadi "123"

DEMO2


28

Anda dapat menggunakan slice () untuk mengembalikan karakter antara awal hingga akhir (termasuk titik akhir)

   string.slice(start , end);

berikut ini beberapa exmp untuk menunjukkan cara kerjanya:

var mystr = ("data-123").slice(5); // jast define start point so output is "123"
var mystr = ("data-123").slice(5,7); // define start and end  so output is "12"
var mystr=(",246").slice(1); // returens "246"

Demo


23

JavaScript lama yang biasa sudah mencukupi - jQuery tidak diperlukan untuk tugas sederhana seperti itu:

var myString = "data-123";
var myNewString = myString.replace("data-", "");

Lihat: .replace()dokumen pada MDN untuk informasi dan penggunaan tambahan.


17

Ex:-

var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);

Semoga ini akan bekerja untuk Anda.


11

Saya sudah terbiasa dengan metode C # (Sharp) String.Remove. Dalam Javascript, tidak ada fungsi hapus untuk string, tetapi ada fungsi substr. Anda dapat menggunakan fungsi substr satu atau dua kali untuk menghapus karakter dari string. Anda dapat membuat fungsi berikut untuk menghapus karakter pada indeks awal hingga akhir string, seperti metode c # yang pertama kali membebani String.Remove (int startIndex):

function Remove(str, startIndex) {
    return str.substr(0, startIndex);
}

dan / atau Anda juga dapat membuat fungsi berikut untuk menghapus karakter pada indeks awal dan menghitung, seperti metode c # yang membebani String.Remove (int startIndex, int count):

function Remove(str, startIndex, count) {
    return str.substr(0, startIndex) + str.substr(startIndex + count);
}

dan kemudian Anda dapat menggunakan dua fungsi ini atau salah satunya untuk kebutuhan Anda!

Contoh:

alert(Remove("data-123", 0, 5));

Output: 123


9

Fungsi kecil yang saya buat ini selalu bekerja untuk saya :)

String.prototype.deleteWord = function (searchTerm) {
    var str = this;
    var n = str.search(searchTerm);
    while (str.search(searchTerm) > -1) {
        n = str.search(searchTerm);
        str = str.substring(0, n) + str.substring(n + searchTerm.length, str.length);
    }
    return str;
}

// Use it like this:
var string = "text is the the cool!!";
string.deleteWord('the'); // Returns text is cool!!

Saya tahu ini bukan yang terbaik, tetapi selalu berhasil untuk saya :)


Anda menunjukkan dalam jawaban Anda bagaimana fungsi penggantian string bekerja lebih atau kurang, tetapi memang hanya menggunakan fungsi ganti string jauh lebih sederhana dan lebih mudah kode dari milik Anda!

9
str.split('Yes').join('No'); 

Ini akan menggantikan semua kemunculan string tertentu dari string asli.


8

Menggunakan match()dan Number()mengembalikan numbervariabel:

Number(("data-123").match(/\d+$/));

// strNum = 123

Inilah yang dilakukan pernyataan di atas ... bekerja sebagai perantara:

  1. str.match(/\d+$/)- Mengembalikan susunan yang berisi kecocokan ke angka berapa pun di akhir str. Dalam hal ini mengembalikan array yang berisi item string tunggal ['123'].
  2. Number()- mengubahnya menjadi tipe angka. Karena array yang dikembalikan dari .match()berisi elemen tunggal Number()akan mengembalikan nomor tersebut.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.