Rumah  >  Soal Jawab  >  teks badan

Alih keluar petikan utama dan belakang daripada rentetan yang diserahkan pengguna dalam VueJS

Saya mempunyai aplikasi VueJS yang mengandungi borang dengan data pra-diisi. Elemen textarea mengandungi beberapa data seperti yang ditunjukkan pada UI

NOTA: (Maaf, saya belum mempunyai mata wakil yang mencukupi untuk melampirkan tangkapan skrin):

Tangkapan skrin elemen kawasan teks UI dengan petikan

Saya tidak boleh mengubah suai cara bahagian belakang menyediakan data.

Jadi, adakah cara yang baik untuk mengalih keluar petikan pertama dan terakhir daripada rentetan? Saya tidak mahu menyentuh teks dalaman sekiranya pengguna menambah petikan di dalamnya.

Output yang diharapkan daripada

'Hello World, selamat datang ke "fooWorld!"' sepatutnya Hello World, selamat datang ke 'fooWorld!'

Berikut ialah contoh dunia sebenar tentang cara saya menggunakan data dalam SPA:

data() {
    return {
        entryNotes: this.post.entryNotes  //<--- this is the data I need to format
    }
}

P粉076987386P粉076987386206 hari yang lalu376

membalas semua(1)saya akan balas

  • P粉930534280

    P粉9305342802024-03-27 15:27:18

    Bagaimana untuk mengalih keluar petikan pembukaan dan penutupan menggunakan regex pantas?

    data(){
        return {
            entryNotes: this.post.entryNotes.replace(/^"/,"").replace(/"$/,"")
        }
    }

    Regex pertama mencari permulaan rentetan (diwakili oleh ^) dan kemudian untuk petikan. Regex kedua mencari petikan dan kemudian untuk hujung rentetan (hujung rentetan diwakili oleh $).

    Anda juga boleh melakukan ini:

    str.match(/^"?(.+?)"?$/)[1]

    Ini mencari permulaan rentetan (^), diikuti dengan ", tetapi ? menjadikannya pilihan. Kemudian kurungan menangkap .+, yang bermaksud sepadan dengan apa-apa sahaja. ? sebelum penghujung kurungan bermakna berhenti memadankan sebaik sahaja mungkin. Kemudian Ia berkata untuk mencari petikan, tetapi tanda soal seterusnya mengatakan "mungkin" dan kemudian mencari penghujung rentetan ($).

    balas
    0
  • Batalbalas