Apa persamaan JavaScript dengan C#
Metode ini :
var x = "|f|oo||";
var y = x.Trim('|'); // "f|oo"
C # memangkas karakter yang dipilih hanya di awal dan akhir string!
javascript
string
trim
fubo
sumber
sumber
Anda dapat menggunakan ekspresi reguler seperti:
MEMPERBARUI:
Jika Anda ingin menggeneralisasi ini menjadi suatu fungsi, Anda dapat melakukan hal berikut:
sumber
untuk terus memperbarui pertanyaan ini:
di sini adalah pendekatan yang akan saya pilih daripada fungsi regex menggunakan operator spread ES6.
Versi yang ditingkatkan setelah komentar @fabian (hanya dapat menangani string yang berisi karakter yang sama)
sumber
[].concat(string)
yang tidak diinginkan. MenggunakanArray.from(string)
akan berhasil.Versi regex-less yang enak dilihat:
Untuk kasus penggunaan di mana kami yakin bahwa tidak ada pengulangan karakter di luar batas.
sumber
const trim = (str, chars) => str.split(chars).filter(x => { Boolean(x); console.log(typeof(x), x, Boolean(x)); }).join(chars); const str = "#//#//abc#//test#//end#//"; console.log(trim(str, '#//'));
Jika Anda berurusan dengan string yang lebih panjang, saya yakin ini akan mengungguli sebagian besar opsi lain dengan mengurangi jumlah string yang dialokasikan menjadi nol atau satu:
Atau jika Anda ingin memotong dari sekumpulan beberapa karakter:
EDIT: Untuk bersenang-senang, potong kata-kata (bukan karakter individu)
sumber
Ini dapat memangkas beberapa karakter sekaligus:
sumber
Jika Anda menentukan fungsi-fungsi ini dalam program Anda, string Anda akan memiliki versi yang ditingkatkan
trim
yang dapat memangkas semua karakter yang diberikan:Sumber
https://www.sitepoint.com/trimming-strings-in-javascript/
sumber
Sepengetahuan saya, jQuery tidak memiliki fungsi bawaan seperti yang Anda tanyakan. Namun dengan javascript, Anda bisa menggunakan replace untuk mengubah konten string Anda:
Ini akan menggantikan semua kemunculan | dengan apa-apa.
sumber
$
seperti ini hanya di akhir:"||spam|||".replace(/\|+$/g, "")
atau^
seperti ini hanya di awal:"||spam|||".replace(/^\|+/g, "")
Yang ini memotong semua pembatas depan dan belakang
sumber
Saya akan menyarankan untuk melihat lodash dan bagaimana mereka mengimplementasikan
trim
fungsinya.Lihat Lodash Trim untuk dokumentasi dan sumber untuk melihat kode persis yang melakukan pemangkasan.
Saya tahu ini tidak memberikan jawaban yang tepat untuk pertanyaan Anda, tetapi saya pikir ada baiknya untuk menetapkan referensi ke perpustakaan tentang pertanyaan seperti itu karena orang lain mungkin menganggapnya berguna.
sumber
Cara terbaik untuk menyelesaikan tugas ini adalah (mirip dengan
trim
fungsi PHP ):PS: Mengapa saya memposting jawaban saya, padahal kebanyakan orang sudah melakukannya sebelumnya? Karena saya menemukan kesalahan "terbaik" di semua jawaban yang ada: semua menggunakan meta '+', bukan '*', 'karena
trim
harus menghapus karakter JIKA MEREKA DI MULAI DAN / ATAU AKHIR, tetapi mengembalikan string asli dalam kasus lain .sumber
memperluas jawaban @leaf, berikut salah satu yang dapat mengambil banyak karakter:
sumber
Saya suka solusi dari @ Pho3niX83 ...
Mari kita perpanjang dengan "kata" daripada "char" ...
sumber
sumber
(perhatikan pelolosan ganda.
\\
diperlukan, untuk memiliki garis miring tunggal dalam string , yang kemudian mengarah ke pelolosan|
di regExp ).Hanya beberapa karakter yang membutuhkan regExp-Escaping. , di antaranya adalah operator pipa.
sumber
mencoba:
sumber
sumber
Coba metode ini:
sumber