%20in%20einem%20HTML-Tag%20l%C3%B6schen%20(aus%20Zeichenfolge).png)
Ich habe dieses HTML-Tag (aus Zeichenfolge):
<meta name="description" content="I love my mother" but I love my sister" more than I can say"/>
Wie Sie sehen, habe ich 4 doppelte Anführungszeichen (Apostrophe) in derInhaltAbschnitt. Sollte nur 2 Anführungszeichen enthalten: eines am Anfang content="
und eines am Ende"/>
Ich muss alle Tags finden, die andere Anführungszeichen enthalten, außer diesen beiden im Inhaltsabschnitt, und sie löschen:
Die Ausgabe sollte wie folgt aussehen:
<meta name="description" content="I love my mother but I love my sister more than I can say"/>
Ich habe einen Regex erstellt, aber nicht besonders gut. Vielleicht kannst du mir helfen:
FINDEN:(?-s)(<meta name="description" content=")(*?\K.*"(?s))"/>
ERSETZEN DURCH:\1\2
Antwort1
So können Sie vorgehen:
- Ctrl+H
- Finde was:
(?:<meta name="description" content="|\G(?!^))[^"]*\K"(?=.*?"/>)
- Ersetzen mit:
LEAVE EMPTY
- ÜBERPRÜFEN Umwickeln
- ÜBERPRÜFEN Regulären Ausdruck
- DEAKTIVIEREN
. matches newline
- Replace all
Erläuterung:
(?: # non capture group
<meta name="description" content=" # literally
| # OR
\G(?!^) # restart from last match position (not at the beginning of a line)
) # end group
[^"]* # 0 or more non quote
\K # forget all we have seen until this position
" # a double quote
(?=.*?"/>) # positive lookahead, make sure we have "/> somewhere after
Screenshot (vorher):
Screenshot (nachher):