Mi chiedevo quando si dovrebbe usare s///
su tr///
quando si lavora con le espressioni regolari in Perl?Qual è la differenza tra tr /// e s /// quando si utilizza regex in Perl?
risposta
s///
è sostituibile:
$string =~ s/abc/123/;
Questo sostituirà il primo "abc" contenuto nella $string
con "123".
tr///
è per traslitterazione:
$string =~ tr/abc/123/;
Questo sostituirà tutte le occorrenze di "a" all'interno $string
con "1", tutte le occorrenze di "b" su "2", e tutte le occorrenze di "c" con "3".
Non dimenticare il nostro putter da golf preferito, 'y ///'! – Daenyth
Da perlop: Quote and Quote-like Operators
noti che tr non fa regolari classi di caratteri espressioni quali \ d o [: lower:]. L'operatore tr è non equivalente all'utilità tr (1). Se si desidera mappare stringhe tra inferiore/superiore, vedere lc e uc, e in generale considerare l'utilizzo dell'operatore s se sono necessarie espressioni regolari .
tr///
non è un operatore di espressioni regolari. È adatto (e più veloce di s///
) per le sostituzioni di un singolo carattere con un altro singolo carattere o (con il modificatore d
) sostituendo un singolo carattere con zero caratteri.
s///
deve essere utilizzato per qualcosa di più complicato rispetto ai casi di utilizzo stretto di tr
.
- 1. In Perl, qual è la differenza tra s/^ \ s + // e s/\ s + $ //?
- 2. Regex PHP: Differenza tra \ s e \\ s
- 3. Qual è la differenza tra char * s [] e char (* s) []?
- 4. Qual è la differenza tra BAREWORD e * BAREWORD in Perl?
- 5. Qual è la differenza tra open e sysopen in Perl?
- 6. Qual è la differenza tra 'eq' e '= ~' in Perl?
- 7. Qual è la differenza tra locali e globali quando si utilizza Eval() di Python?
- 8. la differenza tra `\\ s | *` e `\\ s | [*]` nell'espressione regolare in r?
- 9. Perl Tkx, qual è la differenza tra "pulsante" e "ttk__button"?
- 10. Quando si utilizza LINQ, qual è la differenza tra le clausole && e le clausole multiple?
- 11. In Perl, qual è la differenza tra un file .pm (Perl module) e .pl (Perl script)?
- 12. Differenza tra $ @ e $! in perl
- 13. qual è la differenza tra il regex PHP e javascript regex
- 14. Qual è la differenza tra [\ s \ S] *? e .*? nelle espressioni regolari di Java?
- 15. Qual è la differenza tra {0} e ""?
- 16. Qual è la differenza tra l'aspettativa e quando in $ httpBackend
- 17. Qual è la differenza tra Verilog! e ~?
- 18. Qual è la differenza tra printf ("% s"), printf ("% ls"), wprintf ("% s") e wprintf ("% ls")?
- 19. Qual è la differenza tra "std :: string const & s" e "const std :: string & s"?
- 20. espressioni Regex in Java \\ s vs. \\ s +
- 21. Qual è la differenza tra .replace e -replace in powershell?
- 22. Qual è la differenza tra dict() e {}?
- 23. Qual è la differenza tra regex {m, n} e (regex) {m, n}?
- 24. Qual è la differenza tra rendering e sottotitoli in Sitecore
- 25. Qual è la differenza tra l'utilizzo? e% quando si disinfettano i campi in ActiveRecord?
- 26. Qual è la differenza tra ("") e (null)
- 27. Durante lo scripting, qual è la differenza tra #!/Usr/bin/perl e #!/Usr/bin/env perl?
- 28. Quando la differenza tra una stringa e un numero è importante in Perl 5?
- 29. Qual è la differenza tra \ 1 e $ 1 in un'espressione regolare Perl?
- 30. Qual è la differenza tra 'e "in? JavaScript
Devi accettare la risposta corretta (la casella di controllo accanto ad essa) – Daenyth