Heim  >  Fragen und Antworten  >  Hauptteil

Entfernen Sie führende und nachgestellte Anführungszeichen aus vom Benutzer übermittelten Zeichenfolgen in VueJS

Ich habe eine VueJS-Anwendung, die Formulare mit vorab ausgefüllten Daten enthält. Das Textarea-Element enthält einige Daten, wie auf der Benutzeroberfläche angezeigt

HINWEIS: (Leider habe ich noch nicht genügend Wiederholungspunkte, um einen Screenshot anzuhängen):

Screenshot des UI-Textbereichselements mit Anführungszeichen

Ich kann die Art und Weise, wie das Backend Daten bereitstellt, nicht ändern.

Gibt es also eine gute Möglichkeit, die ersten und letzten Anführungszeichen aus einer Zeichenfolge zu entfernen? Ich möchte den inneren Text nicht berühren, für den Fall, dass der Benutzer Anführungszeichen hinzufügt.

Die erwartete Ausgabe von

'Hello World,welcome to 'fooWorld!' sollte Hello World,welcome to 'fooWorld!'

sein

Hier ist ein Beispiel aus der Praxis, wie ich Daten in einem SPA verwende:

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

P粉076987386P粉076987386206 Tage vor374

Antworte allen(1)Ich werde antworten

  • P粉930534280

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

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

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

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

    您也可以这样做:

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

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

    Antwort
    0
  • StornierenAntwort