Oto napis, który zawiera treść „cześć wszystkim, jestem tu nowy (poważnie)”
Jak mogę zwrócić „hi + all + I” m + new + here ”za pomocą kodu ruby?
Odpowiedzi:
2 dla odpowiedzi № 1Dlaczego nie po prostu połączyć łańcucha .gsub()
polecenia?
x.gsub(/(.*?)/, "").gsub(/s+/,"+")
Możesz także zaktualizować swój pierwszy gsub
aby usunąć wszystkie białe spacje poprzedzające nawiasy.
x.gsub(/s+(.*?)/, "")
2 dla odpowiedzi nr 2
Jeśli naprawdę chcesz użyć singla gsub
operacja, możesz przekazać hash jako parametr zastępczy:
x.gsub(/( *(.*?)| )/, " " => "+", default: "")
# => "hi+all"
W ten sposób przechwytuje się coś w nawiasach (w tym spacje wiodące) lub spacje. Jeśli przechwytywanie jest spacją - zostaje zastąpione przez "+"
w przeciwnym razie zastępuje pusty ciąg ""