搜索

首页  >  问答  >  正文

从 VueJS 中用户提交的字符串中删除首尾引号

我有一个 VueJS 应用程序,其中包含预填充数据的表单。 textarea 元素包含一些数据,如 UI 上所示

注意:(抱歉,我还没有足够的代表点来附加屏幕截图):

带引号的 UI 文本区域元素的屏幕截图

我无法修改后端提供数据的方式。

因此,有没有一种好方法可以从字符串中删除第一个和最后一个引号?我不想触摸内部文本,以防用户在其中添加引号。

'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
    }
}

P粉076987386P粉076987386274 天前442

全部回复(1)我来回复

  • P粉930534280

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

    如何使用快速正则表达式来删除开始和结束引号?

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

    第一个正则表达式查找字符串的开头(用 ^ 表示),然后查找引号。第二个正则表达式查找引号,然后查找字符串结尾(字符串结尾用 $ 表示)。

    您也可以这样做:

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

    这个查找字符串 (^) 的开头,后跟一个 ",但是 ? 使其成为可选。然后括号捕获 .+,这意味着匹配任何内容。括号末尾之前的 ? 意味着停止匹配,因为尽快。然后它说寻找引号,但下一个问号说“可能”,然后寻找字符串的结尾($)。

    回复
    0
  • 取消回复