繁体   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