Todas mis cadenas de borrado con expresiones regulares utilizan gsub, ¿hay alguna manera más corta? string.gsub(/\A.*\//,'')
¿Hay una eliminación Regex en Ruby?
Respuesta
Una forma es añadir sus propios métodos cortos:
class String
def del(regexp)
gsub(regexp,'')
end
def del!(regexp)
gsub!(regexp,'')
end
end
Normalmente este código iría en un directorio lib /, por ejemplo lib/string-extensions.rb
Heads up que a algunos programadores realmente les disgusta esto porque es parchear los monos. Personalmente me gusta para proyectos porque hace que el código sea más fácil de entender: una vez que tengo el método "del", puedo ver rápidamente que las llamadas a él simplemente eliminan la expresión regular.
+1, aunque me sorprende que nadie votó esto. –
No lo creo.
Cadena :: eliminar borra caracteres, y no coincide con regex, es un enfoque completamente diferente.
La única forma en que puedo pensar en hacer que esa línea tuya sea "más corta" es usar string.gsub!(/\A.*\//,'')
(fíjate en la explosión allí).
Ese es el camino a seguir, creo :)
@Vache jaja, a la derecha. lo corrigió: P – Castilho
Se puede especificar el lugar parte de la cadena que desea mantener . . .
string[/[^\/]*$/]
- 1. Ruby Regex vs Python Regex
- 2. Regex eliminación triple doble coma/en cadena
- 3. Ruby regex "contiene una palabra"
- 4. Dynamic Regex en Ruby
- 5. ¿Por qué hay una eliminación [] en C++?
- 6. ruby regex .scan
- 7. Ruby Regex extrayendo palabras
- 8. Ruby, gsub y regex
- 9. Entrada de usuario + Ruby + Regex?
- 10. Cómo usar AND en Ruby Regex
- 11. Ruby regex: reemplazar barras dobles en URL
- 12. ¿Hay una declaración de goto en Ruby?
- 13. ¿Hay una implementación de bolsa en Ruby?
- 14. ¿Hay una búsqueda binaria incorporada en Ruby?
- 15. Ruby Regex, Only One Capture (¡Muy simple!)
- 16. Devolver la primera coincidencia de Ruby regex
- 17. Ruby regex matching strings from a array?
- 18. Ruby Regex problema text.gsub [^ \ W-], '') falla
- 19. subcadena Ruby sub sin regex referencias atrás
- 20. buscar y reemplazar con ruby regex
- 21. ¿hay una eliminación de FileInputStream existente al cerrar?
- 22. Ruby Regex para redondear ceros al final
- 23. ¿Hay add_days en ruby datetime?
- 24. ¿Hay algún functor de eliminación estándar?
- 25. Comportamiento extraño de ruby regex en rieles con utf8 char
- 26. Ruby regex: ignore las comillas si hay dos puntos delante de ellos
- 27. El aspecto negativo de Regex en Ruby no parece funcionar
- 28. ruby regex - cómo reemplazar enésima instancia de una coincidencia en una cadena
- 29. ¿Regex con una cuerda o no regex con una cuerda?
- 30. ¿Hay una forma segura de ejecutar eval en Ruby?
¿Esos tres personajes realmente te atrapan? –
lol parece estar haciendo un montón de borrados de cadena. Pero hacerlo a través de gsub, parece que lo estoy haciendo mal. Debería hacerse a través de string.delete, ¿no? –
string.delete solo toma los caracteres que desea eliminar, no la expresión regular. string.slice! se puede usar para eliminar parte de una cadena basada en una expresión regular, pero es más larga que gsub ... – Pafjo