Ich versuche herauszufinden, wie eine Unterzeichenfolge aus einer Hauptstring in Javascript zu finden und zu löschen. Zum Beispiel habe ich die Zeichenfolge "| 1 | 2 | 3 | 4 | 5 |" und ich möchte zufällige Sub-Strings aus diesem löschen. Ich habe es geschafft, wenn ich konsekutive Sub-Strings habe, sagen wir "| 1 | 2 |", aber ich kann nicht herausfinden, wie man die nicht aufeinander folgenden Sub-Strings wie "| 1 | 4 |" löscht. Wenn du helfen könntest, würde ich es mir aneignen.Wie entfernen nicht aufeinanderfolgende Teilstrings in Javascript
Antwort
Sie mit regex ersetzen können versuchen,
"|1|2|3|4|5|".replace(/\|(1|4)\|/g,"|")
Sie erhalten,
"|2|3|5|"
oder besser,
function replace_non_consecutives(s, subs){
var v = subs.match(/[^|]+/g);
var strregex = "\\|(" + v.join("|") + ")\\|";
var re = new RegExp(strregex,"g");
while (s.match(re)) s = s.replace(re,"|");
return s;
}
replace_non_consecutives("|1|2|3|4|5|", "|1|2|4|");
Sie erhalten,
"|3|5|"
Hi Dies funktioniert perfekt für nicht fortlaufende Nummern in der Zeichenfolge. Aber wenn wir | 1 | 2 | Es löscht die | 2 | nicht. – Kostadin
ja, '| 1 | 2 |' funktionieren nicht, weil 1 und 2 fortlaufende Nummern sind, werde ich es beheben –
@Kostadin ich feste Überlappung Problem in der Post –
- 1. Entfernen Sie aufeinanderfolgende doppelte Wörter Javascript
- 2. Entfernen von doppelten Teilstrings
- 3. Entfernen Sie aufeinanderfolgende doppelte Einträge
- 4. zwei aufeinanderfolgende Zeile Entfernen bricht
- 5. Regex in Javascript - sollte nicht aufeinanderfolgende Klammern, aufeinanderfolgende + Zeichen und aufeinander folgenden -zeichen
- 6. Entfernen aufeinanderfolgende Elemente von Array zu wiederholen
- 7. Java-Regex, um doppelte Teilstrings aus der Zeichenfolge zu entfernen
- 8. Entfernen Sie aufeinanderfolgende Leerzeichen in RDD-Zeilen in Spark
- 9. Suchen und Ersetzen eines Teilstrings Javascript
- 10. Wie entferne ich 3 oder mehr aufeinanderfolgende Buchstaben in Java in 2 aufeinanderfolgende Buchstaben?
- 11. Python Regex zum Entfernen von Teilstrings in geschweiften Klammern
- 12. Entfernen Sie aufeinanderfolgende vertikale Balken in JS Zeichenfolge
- 13. Entfernen mehrerer Teilstrings für eine Zeichenfolge in Perl
- 14. Wie Teilstrings ersetzen?
- 15. Aufeinanderfolgende Trennzeichen in StringTokenizer
- 16. Suche nach allen gängigen, nicht überlappenden Teilstrings
- 17. C - Aufteilen in Teilstrings
- 18. Wie ersetze ich mehrere Teilstrings durch verschiedene Teilstrings?
- 19. Mungo nicht zurück Regex-Teilstrings
- 20. Excel 2010: Teilstrings von Zelle für Text zu Spalten entfernen
- 21. Javascript nicht hinzufügen entfernen Klasse
- 22. Javascript: automatische Teilstrings für jede Zeichenfolge in einem Array erstellen
- 23. wie aufeinanderfolgende Duplikate in einer Python-Liste
- 24. Wie zwei aufeinanderfolgende Zeilen in MYSQL bekommen
- 25. Schneiden eines Teilstrings
- 26. schnelle Möglichkeit, Kleinbuchstaben Teilstrings von String zu entfernen?
- 27. Wie man ganze Wörter nicht subwords in Javascript entfernen
- 28. Wie zeichne aufeinanderfolgende Zeichen in einer Zeichenfolge
- 29. Wie aufeinanderfolgende Anrufe mit Rückrufe in Mockito
- 30. Wie durch aufeinanderfolgende Zeilen in R
Aber '“ | 1 | 4 | "' ist kein Teilstring ... – Oriol
Es gibt keine "nicht-aufeinanderfolgenden" Teilstrings. Warum benutzt du nicht einfach ein Array? Es klingt, als ob du nur "1" und "4" finden und diese beiden Elemente entfernen möchtest. – Xufox
Versuchen Sie, '" | 1 | 2 | 3 | 4 | 5 | ".split ('|')' auszuführen. Vielleicht ist es besser, mit diesem Format zu arbeiten. –