Ich frage mich, wann sollte man s///
über tr///
verwenden, wenn Sie mit regulären Ausdrücken in Perl arbeiten?Was ist der Unterschied zwischen tr /// und s /// bei Verwendung von Regex in Perl?
Antwort
s///
für Substitution ist:
$string =~ s/abc/123/;
Dies wird die erste "abc" in $string
mit "123" gefunden ersetzen.
tr///
ist für Transliteration:
$string =~ tr/abc/123/;
Dies wird alle Vorkommen von "a" innerhalb $string
mit "1", alle Vorkommen von "B" mit "2", und alle Vorkommen von "c" ersetzen mit "3".
Vergessen Sie nicht unseren Lieblings-Golf-Putter, 'y ///'! – Daenyth
Von perlop: Quote and Quote-like Operators
Beachten Sie, dass tr nicht regelmäßig Ausdruck Zeichenklassen wie \ d oder tut [: lower:]. Der Operator tr ist entspricht nicht dem Dienstprogramm tr (1). Wenn Sie Zeichenketten zwischen unteren/oberen Fällen zuordnen möchten, siehe lc und uc, und im Allgemeinen in Betracht ziehen, den Operator s zu verwenden, wenn Sie reguläre Ausdrücke benötigen.
tr///
ist kein Operator für reguläre Ausdrücke. Es eignet sich (und schneller als s///
) für die Ersetzung eines einzelnen Zeichens durch ein anderes einzelnes Zeichen oder (mit dem Modifikator d
) das Ersetzen eines einzelnen Zeichens durch null Zeichen.
s///
sollte für etwas komplizierter als die engen Anwendungsfälle von tr
verwendet werden.
- 1. , was der Unterschied zwischen PHP Regex ist und Javascript regex
- 2. Was ist der Unterschied zwischen \ 1 und $ 1 in einem Perl Regex?
- 3. Was ist der Unterschied zwischen vim Regex und normalen Regex?
- 4. Was ist der Unterschied zwischen "% [^ \ n]" und "% s" für scanf?
- 5. Was ist der Unterschied zwischen% s und% d bei der Formatierung von Python-Strings?
- 6. Was ist der Unterschied zwischen "||" und "oder" in Perl?
- 7. Was ist der Unterschied zwischen grep und map in Perl?
- 8. Was ist der Unterschied zwischen 'for' und 'foreach' in Perl?
- 9. Unterschied zwischen $ @ und $! in Perl
- 10. Was ist der Unterschied zwischen Locals und Globals bei der Verwendung von Pythons eval()?
- 11. Perl Tkx, Was ist der Unterschied zwischen "button" und "ttk__button"?
- 12. Was ist der Unterschied zwischen `==` und `ist`?
- 13. In Perl, was ist der Unterschied zwischen der Verwendung und dem Laden eines Moduls?
- 14. Was ist der Unterschied zwischen der Verwendung externer und # Headerdateien?
- 15. Was ist der Unterschied zwischen Perl-Modulen Autodie und Fatal?
- 16. Was ist der Unterschied zwischen der Verwendung von "" und "" und() beim Deklarieren von Variablen?
- 17. Was ist der Unterschied zwischen as.integer() und + 0L bei Booleans?
- 18. In Perl, was ist der Unterschied zwischen einer .pm (Perl-Modul) und .pl (Perl-Skript) -Datei?
- 19. Was ist der Unterschied zwischen sendmail via CGI vs. Perl?
- 20. Unterschied zwischen s = s + s und s + = s mit kurzen
- 21. Was ist der Unterschied zwischen _url und _path bei der Verwendung der Routen in Schienen
- 22. Was ist der Unterschied zwischen $ und $$?
- 23. Was ist der Unterschied zwischen [\ s \ S] *? und .*? in Java reguläre Ausdrücke?
- 24. Perl tr Nutzung von regexp
- 25. Unterschied zwischen typeof (/ \ s /) und $ .type (/ \ s /)
- 26. Was ist der Unterschied zwischen Verilog! und ~?
- 27. Was ist der Unterschied zwischen Verwendung und extern?
- 28. Was ist der Unterschied zwischen der ServiceBus/ServiceBusTrigger-Methode und der Verwendung von QueueClient bei Verwendung von Azure Bus Service?
- 29. Was ist der Unterschied zwischen diesen Regexen
- 30. Was ist der Unterschied zwischen `%` und `,` in Python-Formatierern?
Sie sollten die richtige Antwort akzeptieren (Das Kontrollkästchen daneben) – Daenyth