Lets sagen, ich habe etwas Text mit vielen Instanzen des Wortes "Find", die ich es mit Text ersetzen möchte wie "Replace1", "Replace2", "Replace3", etc. Die Zahl ist die Anzahl der Vorkommen von "Find " im Text. Wie man es am effektivsten in C# macht, kenne ich den Loop-Weg schon.Ersetzen von Text mit regulärem Ausdruck durch variablen Text?
3
A
Antwort
5
A MatchEvaluator
kann dies tun:
string input = "FindbcFinddefFind", pattern = "Find";
int i = 1;
string replaced = Regex.Replace(input, pattern, match => "REPLACE" + i++);
Beachten Sie, dass die match
Variable auch Zugriff auf die Match
hat etc. Mit C# 2.0 Sie benötigen, um eine verwenden, anonyme Methode statt eines Lambda (aber gleicher Effekt) - um sowohl diese als auch die Match
zu zeigen:
string input = "FindbcFinddefFind", pattern = "Find";
int i = 1;
string replaced = Regex.Replace(input, pattern, delegate(Match match)
{
string s = match.Value.ToUpper() + i;
i++;
return s;
});
3
Sie könnten die Überladung verwenden, die eine MatchEvaluator
nimmt und die benutzerdefinierte Ersetzungszeichenfolge innerhalb der Delegat-Implementierung bereitstellen, die es Ihnen ermöglichen würde, alle Ersetzungen in einem Durchgang auszuführen.
Zum Beispiel:
var str = "aabbccddeeffcccgghhcccciijjcccckkcc";
var regex = new Regex("cc");
var pos = 0;
var result = regex.Replace(str, m => { pos++; return "Replace" + pos; });
Verwandte Themen
- 1. TinyMCE Text hightlight mit regulärem Ausdruck
- 2. Link-Text ersetzen durch Liste Text
- 3. vim Unter ersetzen Ausdruck mit mehr Text
- 4. Unbekannte Länge analysieren Text aus Datei mit regulärem Ausdruck REGEX
- 5. Überprüfen Sie Text für HTML mit regulärem Ausdruck
- 6. Angular: Ersetzen von Text durch Vorlagen
- 7. Ersetzen Sie Text durch berechneten neuen Text von onclick = "myfunction()"
- 8. Codierung von URL-Strings mit regulärem Ausdruck
- 9. Ersetzen Sie einen Text durch eine Variable
- 10. Ersetzen Sie exakte variable Zeichenfolge durch variablen Text in PHP?
- 11. Verwenden von Notepad ++ Suchen und Ersetzen mit regulärem Ausdruck
- 12. Notepad ++ ersetzen Text mit etwas Text bekommen
- 13. JavaScript String Ersetzen mit regulärem Ausdruck und Funktion als Argumente
- 14. Ersetzen von Text mit regexp
- 15. mit regulärem Ausdruck und Rekonstruieren ursprüngliche Zeichenfolge
- 16. Text im gesuchten Text durch sed und awk ersetzen?
- 17. sed, um eine Zeile mit regulärem Ausdruck zu ersetzen
- 18. Erhalten Teilzeichenfolge mit regulärem Ausdruck
- 19. Suchen/Ersetzen von Text mit Regexp
- 20. Replace pagebreak Tag mit regulärem Ausdruck
- 21. Python - LibreOffice Calc - Finden und Ersetzen mit regulärem Ausdruck
- 22. Ersetzen von URLs im Text durch Links zu URLs
- 23. Wie NULL-Werte durch einen Text ersetzen?
- 24. JQuery entfernen Hyperlink und ersetzen durch Text
- 25. Erhalten mehrzeilige Zeichenfolge von Text-Datei in dem Block von zwei String mit regulärem Ausdruck C#
- 26. mit regulärem Ausdruck für Preg
- 27. Ersetzen "Refresh Icon" von SwipeRefreshLayout mit Text
- 28. Suche mit regulärem Ausdruck mit nur einem Teil einer Variablen
- 29. Ersetzung mit regulärem Ausdruck und Erfassung
- 30. Ersetzen von Text mit einem Filter