簡體   English   中英

VueJS:如何刪除用戶提交字符串的第一個和最后一個引號?

[英]VueJS: How to remove first and last quotation marks of a user submitted string?

我有一個帶有預填充數據表單的 VueJS 應用程序。 一個 textarea 元素有一些像 UI 上顯示的數據

注意:(對不起,我還沒有足夠的代表點來附加屏幕截圖):

帶引號的 UI 文本區域元素的屏幕截圖

我無法修改后端提供數據的方式。

因此,有沒有一種好方法可以從字符串中刪除 FIRST 和 LAST 引號? 如果用戶在其中添加引號,我不想觸摸內部文本。

'Hello World, Welcome to "fooWorld!"' 的預期輸出應為Hello World, Welcome to 'fooWorld!'

這是我如何在 SPA 中使用數據的真實示例:

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

一個快速的正則表達式來擺脫開始和結束引號怎么樣?

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

第一個正則表達式查找字符串的開頭(用 ^ 表示),然后是引號。 第二個正則表達式查找引號,然后查找字符串的結尾(字符串的結尾由 $ 表示)。

你也可以這樣做:

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

這個查找字符串 (^) 的開頭,后跟一個 ",但 ? 使它成為可選的。然后括號捕獲 .+ 表示匹配任何內容。括號末尾之前的 ? 表示一旦你停止匹配可以。然后它說尋找一個引號,但下一個問號說“可能”,然后尋找字符串的結尾($)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM