Całe moje usuwanie ciągów za pomocą wyrażenia regularnego używa gsub, czy jest krótsza droga? string.gsub(/\A.*\//,'')
Czy istnieje Regex Delete w Ruby?
Odpowiedz
Jednym ze sposobów jest dodawanie własnych krótkich metod:
class String
def del(regexp)
gsub(regexp,'')
end
def del!(regexp)
gsub!(regexp,'')
end
end
Zazwyczaj ten kod pójdzie w katalogu lib /, na przykład lib/String-extensions.rb
heads-up że niektórzy programiści naprawdę tego nie lubią, ponieważ to łatanie małp. Osobiście lubię to w projektach, ponieważ ułatwia to zrozumienie kodu - gdy już mam metodę "del", mogę szybko zobaczyć, że wywołania do niej po prostu usuwają wyrażenie regularne.
+1, choć jestem zaskoczony, że nikt tego nie głosował. –
Nie sądzę.
Ciąg :: delete usuwa znaki i nie pasuje do wyrażenia regularnego, to zupełnie inne podejście.
Jedyny sposób, w jaki mogę wymyślić, że twoja linia jest "krótsza", to użycie string.gsub!(/\A.*\//,'')
(zauważ tam huk).
To droga, myślę :)
@Vache haha, racja. poprawił go: P – Castilho
Można zamiast określać część napisu chcesz zachować. . .
string[/[^\/]*$/]
- 1. Dynamic Regex w Ruby
- 2. ruby regex .scan
- 3. Ruby, gsub i regex
- 4. regex ruby i grupowanie
- 5. Czy istnieje limit rozmiaru tablicy w ruby?
- 6. ruby regex skanować kontra = ~
- 7. Czy istnieje prosty sposób na wykonywanie wielowierszowych ciągów w Ruby?
- 8. Ruby Regex: Odrzucanie całych słów
- 9. Ruby String podzielić z regex
- 10. Ruby: filter array by regex?
- 11. Czy istnieje książka "Code Complete" dla Ruby?
- 12. nowalinia Mecz `\ n` w ruby regex
- 13. Czy istnieje dobre opakowanie openCL dla Ruby?
- 14. Czy istnieje Asynchronous Logging Library dla Ruby?
- 15. wyszukiwania Ruby tablic z Regex wyrażeń
- 16. Czy istnieje sposób na ustawienie wartości $? w pozorowaniu w Ruby?
- 17. Ruby dopasowujące ciągi regex z tablicy?
- 18. Czy istnieje idiomatyczny sposób działania na 2 tablicach w Ruby?
- 19. Czy istnieje odpowiednik Array # find_index dla ostatniego indeksu w ruby?
- 20. Czy istnieje prosty sposób na uzyskanie wymiarów obrazu w Ruby?
- 21. Czy istnieje sposób dostępu do argumentów metody w Ruby?
- 22. Czy istnieje szybki sposób na znalezienie brakujących końców w Ruby?
- 23. Czy istnieje bezpieczny sposób na uruchamianie eval w Ruby?
- 24. Czy istnieje ekwiwalent w języku Ruby do ekstraktu PHP?
- 25. Czy istnieje alternatywa Pythona do biblioteki VCR w Ruby?
- 26. Ruby string sub bez odwołań do regex
- 27. Czy istnieje różnica między XSD: Pattern i C# Regex?
- 28. szyny, Ruby - dany regex - określa policzyć Mecz
- 29. Ruby regex - gsub tylko przechwycił grupę
- 30. Weryfikacja numeru telefonu z regex ruby
Tych trzech postaci naprawdę do ciebie dociera? –
lol wydaje się robić dużo kasowań. Ale robiąc to za pomocą gsub, wydaje mi się, że robię to źle. Powinno to zostać wykonane przez string.delete, nie? –
string.delete przyjmuje tylko znaki do usunięcia, bez wyrażeń regularnych. string.slice! może być użyty do usunięcia części ciągu znaków na podstawie wyrażeń regularnych, ale jest dłuższy niż gsub ... – Pafjo