Tutte le mie string delete con regex usano gsub, c'è un modo più breve? string.gsub(/\A.*\//,'')
Esiste un Regex Delete in Ruby?
risposta
Un modo è quello di aggiungere i propri metodi brevi:
class String
def del(regexp)
gsub(regexp,'')
end
def del!(regexp)
gsub!(regexp,'')
end
end
In genere questo codice sarebbe andato in un lib/directory, ad esempio lib/string-extensions.rb
Heads up che alcuni programmatori non amano questo perché si tratta di patch per le scimmie. Personalmente mi piace per i progetti perché rende il codice più facile da capire - una volta che ho il metodo "del", posso rapidamente vedere che le chiamate ad esso stanno cancellando la regexp.
+1, anche se sono sorpreso che nessuno abbia votato. –
Non credo.
Stringa :: elimina elimina caratteri e non corrisponde alla regex, è un approccio completamente diverso.
L'unico modo in cui posso pensare di rendere questa linea "più corta" è utilizzare string.gsub!(/\A.*\//,'')
(notare il botto lì).
Questo è il modo di andare, credo :)
@Vache haha, giusto. corretto: P – Castilho
Si potrebbe invece indicare la parte della stringa che si desidera mantenere . . .
string[/[^\/]*$/]
- 1. Dynamic Regex in Ruby
- 2. ruby regex .scan
- 3. Ruby, gsub e regex
- 4. Esiste un equivalente in Javascript/Coffeescript/jQuery nell'invio di Ruby?
- 5. ruby regex e raggruppamento
- 6. ruby regex scansione contro = ~
- 7. Modalità vintage sublime (vim) delete, yank, cambia in regex
- 8. Ruby delete method (manipolazione delle stringhe)
- 9. Partita a capo `\ n` in ruby regex
- 10. Utilizzando regex in Ruby se la condizione
- 11. ruby regex trovare e sostituire
- 12. Ruby regex "contiene una parola"
- 13. PostgreSQL con-delete "relazione non esiste"
- 14. Ruby: filtro array per regex?
- 15. Ruby Regex: Rifiuta parole intere
- 16. Esiste un equivalente Python simboli di Ruby?
- 17. Ruby Regex, solo una cattura (molto semplice!)
- 18. Ruby regex le stringhe corrispondenti da un array?
- 19. Restituisce la prima corrispondenza di Ruby regex
- 20. cerca e sostituisci con ruby regex
- 21. Perché Ruby not Symbol # = ~ (regex match operator)?
- 22. Ruby sostituisce stringa con motivo regex catturato
- 23. Esiste un equivalente in C# a `reply_to? 'Di Ruby?
- 24. Esiste una funzione radix in ruby?
- 25. Ruby regex che estrae le parole
- 26. Ruby regex cosa significa \ 1 per gsub
- 27. Split Ruby regex su più righe
- 28. Bulk delete (truncate vs delete)
- 29. L'aspetto negativo di Regex in Ruby non sembra funzionare
- 30. bulk delete in GIT?
Questi tre personaggi ti stanno davvero prendendo? –
lol sembra che stia facendo molte eliminazioni di stringhe. Ma farlo via gsub, sembra che sto sbagliando. Dovrebbe essere fatto tramite string.delete, no? –
string.delete accetta solo quali caratteri eliminare, nessuna espressione regolare. string.slice! può essere usato per rimuovere parte di una stringa in base a una regexp ma è più lungo di gsub ... – Pafjo