Regex-Maske-Ersatz-Muster für Telefonnummer
Ich bin neu in regex
Ich habe die Telefonnummer regex-Muster (?\d{3})?-? *\d{3}-? *-?\d{4}
Ich versuche, Maske Telefonnummer anzeigen, nur die letzten 4 stellen.
Bin ich über eine Funktion Regex.Ersetzen("(123) 556-7890 ", "(?\d{3})?-? *\d{3}-? *-?\d{4}", "#")
Würde jemand mir helfen, was wäre das pattern ersetzen.
Ich muss heraus stellen wie für . - Eingang können Sie ein XML-oder JSON -
Eingang
PhoneNumber> (123) 556-7890 PhoneNumber>
Ausgabe
PhoneNumber>(XXX) XXX-7890 PhoneNumber>
Eingang
PhoneNumber> 123 556 7890 PhoneNumber>
Ausgabe
PhoneNumber>XXX XXX 7890 PhoneNumber>
Eingang
PhoneNumber> (123) 556 - 7890 PhoneNumber>
Ausgabe
PhoneNumber>(XXX) XXX - 7890 PhoneNumber>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man nicht einfach speichern Sie die aktuelle 4-stellig mit
\d{4}$
und dann mock-up des vorherigen codes? 🙂([\(?(\d{0,3})\)?\s]+[-\s])(?=\d{4})
ersetzen:XXX-XXX-
([\(?(\d{0,3})\)?\s]+[-\s]+)
Können Sie einen regulären Ausdruck für jede Ziffer, die nicht innerhalb der letzten 4 Ziffern am Ende der Zeichenfolge und ersetzen Sie mit einem
X
:Erklärung:
\d
- match eine Ziffer und...(?!\d{0,3}$)
- fail das Spiel, wenn es 0 zu 3 Ziffern am Ende der Zeichenfolge.Sehen die regex-demo und diese C# demo:
Ergebnisse:
UPDATE zeigen, wie Sie IHRE regex kombiniert mit mine
Müssen Sie nur verwenden Sie Ihre regulären Ausdruck für die Telefon-Nummern in dem von Ihnen gewünschten format, und nutze meine Maske die Ziffern innerhalb einer übereinstimmung Prüfer:
Sehen die IDEONE demo
HINWEIS, dass
@"\(?\d{3}\)?-? *\d{3}-? *-?\d{4}\b"
oder@"\(?\d{3}\)?-? *\d{3}-? *-?\d{4}(?!\d)"
könnte besser sein, Muster zu extrahieren Telefonnummern der letzten 4 Ziffern werden kann, gefolgt durch eine Wort - /nicht-Ziffer-Zeichen.$
mit<
oder sogar</PhoneNumber>
Wenn es immer die gleiche Anzahl von Ziffern, Sie müssen es ersetzen? Sicherlich nur die letzten vier Ziffern und setzen
(XXX) XXX-
vor es würde das gleiche Ergebnis erzielen?Natürlich sollten Sie dennoch mit Ihrem ursprünglichen regex um sicherzustellen, dass Sie eine gültige Telefon-Nummer.
Versuchen, diese
Substitution
Regex-demo
Eingang
Ausgabe
Hey überprüfen Sie diese Funktion, so geben Sie die Telefonnummer ein, die Sie maskieren möchten, die als Eingabe für die Funktion und es wird Euch wieder der maskierte string
JS: