Ruby:
Usuwanie cudzysłowów z ciągu znaków
Jak to zrobić:
Ruby ma kilka sprytnych sztuczek do wyłuskania tych denerwujących znaków cudzysłowia. Możesz użyć metod gsub
lub delete
, aby wykonać zadanie. Oto trochę kodu do przeżucia:
# Użycie gsub do usunięcia podwójnych i pojedynczych cudzysłowów
quoted_string = "\"Powiedz 'cześć' mojemu małemu przyjacielowi!\""
unquoted_string = quoted_string.gsub(/'|"/, '')
puts unquoted_string
# Wynik: Powiedz cześć mojemu małemu przyjacielowi!
# Jeśli wiesz, że będziesz mieć do czynienia tylko z jednym typem cudzysłowu
single_quoted_string = "'Zostań na chwilę i posłuchaj!'"
clean_string = single_quoted_string.delete("'")
puts clean_string
# Wynik: Zostań na chwilę i posłuchaj!
Wgłębienie
Historia cudzysłowów sięga najwcześniejszych dni programowania, gdzie często służyły jako ograniczniki stringów. Dzisiaj, tak jak wtedy, możesz znaleźć się w sytuacji, gdy potrzebujesz usunąć te znaki cudzysłowu, gdy nie są potrzebne lub gdy mogłyby zakłócić magazynowanie i manipulację danymi.
Mówiliśmy o gsub
i delete
, ale są też inne metody, takie jak tr
lub tr_s
, które dają ci trochę większą kontrolę lub mogą radzić sobie z nieco innymi przypadkami użycia:
# tr może również usunąć cudzysłowy
double_quoted_string = "\"Robić albo nie robić, nie ma próbowania.\""
clean_string = double_quoted_string.tr('\"', '')
puts clean_string
# Wynik: Robić albo nie robić, nie ma próbowania.
Pamiętaj, że każda z tych metod ma swoje przypadki użycia. gsub
jest potężniejsze, gdy masz do czynienia ze skomplikowanymi wzorcami lub wieloma podmianami. delete
i tr
doskonale sprawdzają się przy prostym, bezpośrednim usuwaniu znaków.
Zobacz także
Aby dowiedzieć się więcej i zobaczyć te metody w akcji w większych bazach kodów, sprawdź:
- Dokumentację Ruby dla String#gsub, String#delete i String#tr.
- Ruby Monstas ma świetny zestaw ćwiczeń na stringach, który obejmuje pracę z cudzysłowami.
- Dyskusje na Stack Overflow na temat manipulacji stringami dostarczają rzeczywistych problemów i rozwiązań od innych Rubyistów.