、私はこの文字列を持っていると言う:"abc''xyz''"
文字列に重複しているアポストロフィをどのように削除しますか? Rubyでは
(これらはabc
とxyz
後2つの単一引用符です)
さて、私はこの文字列にそれを作るための方法を見つけようとしています:"abc'xyz'"
2つのアポストロフィが連続している場所で、この文字列から1つのアポストロフィを削除します。前もって感謝します。
、私はこの文字列を持っていると言う:"abc''xyz''"
文字列に重複しているアポストロフィをどのように削除しますか? Rubyでは
(これらはabc
とxyz
後2つの単一引用符です)
さて、私はこの文字列にそれを作るための方法を見つけようとしています:"abc'xyz'"
2つのアポストロフィが連続している場所で、この文字列から1つのアポストロフィを削除します。前もって感謝します。
あなたはString#squeeze
を使用することができます。
"abc''xyz''".squeeze("'")
#=> "abc'xyz'"
この方法は、特定の文字の重複を取り除き、彼らはお互いの直後にある場合。これは、行の中のn文字を1つに減らします。例えば
、あなたはそれが次のように返します絞る、文字列" '''''' "
を持っていた場合:
" '''''' ".squeeze("'")
#=> " ' "
String#squeeze
何が必要ですし、gsub
は本当に悪い考えです。
Benchmark.bm do |bm|
bm.report("squeeze") do
iterations.times do
"e''eee''e'e''''e".squeeze("'")
end
end
bm.report("gsub") do
iterations.times do
"e''eee''e'e''''e".gsub(/\'+/, "'")
end
end
end
と結果:
user system total real
squeeze 6.109000 0.000000 6.109000 ( 6.110040)
gsub 22.454000 0.000000 22.454000 (22.469204)
あなたが尋ねる前に試してみましたか? –