文字列内の指定された部分文字列のインスタンスを探し、ランダムに置き換えます。 私は、部分文字列の各インスタンスに対して.eachメソッドを使用し、その結果に応じてrandを使用してコードブロックを置換するかどうかを考えていました。 しかし、私はこの状況で.eachメソッドを実装する方法についてちょっと固執しています。誰も助けることができますか? 例えば文字列内の部分文字列のランダムインスタンスを置換する(ruby)
2
A
答えて
4
あなたはString#gsub
のブロックバリアントを使用することができます。
s = 'foo bar foo bar foo bar foo bar'
# and you want to change random instances of "foo" with "baz":
s.gsub(/foo/){|m| rand(2) == 0 ? 'baz' : m}
#=> "baz bar foo bar baz bar foo bar"
0
# this is original string
mystring = "some long string"
# this is given substring
substring = "some substring"
# this is raplace string (should be blank)
replace = "some substring replace"
# this is a loop
mystring.split(substring).inject{|new, chunk| new += (rand(2) == 0 ? substring : replace) + chunk }
(Iは、Ruby 1.9を使用しています):
mystring = "hello hello my dear friends! hello and goodbye after hello!"
substring = "hello"
replace = "pinky"
mystring.split(substring).inject{|new, chunk| new += (rand(2) == 0 ? substring : replace) + chunk }
#=> "hello pinky my dear friends! pinky and goodbye after hello!"
+0
私は本当にやっているのか理解いけません。注射は何をするのですか?コードブロックに渡すパラメータは何ですか? –
+0
私は自分の答えを編集しました – fl00r
関連する問題
- 1. 部分文字列置換
- 2. 文字列の部分文字列を置換する
- 3. 文字列の部分文字列を置換する方法
- 4. 文字列内の部分文字列
- 5. 部分文字列を置換する
- 6. 文字列を部分文字列に置き換える
- 7. Ruby on Rails - 文字列内の一部の文字を削除/置換する
- 8. 文字列の部分文字列を置換する方法Javaの空の部分文字列 ""(部分文字列を削除する)
- 9. パンダの部分文字列置換
- 10. ActionScript2の部分文字列置換
- 11. 部分文字列の代替置換
- 12. Ruby:配列内の他の文字列の部分文字列である文字列を削除する
- 13. XmlDocumentの属性内の部分文字列を置換する
- 14. pandas:置換文字列がターゲット部分文字列を置き換えない
- 15. 文字列内の文字の置換
- 16. メッセージの部分文字列の部分文字列の部分文字列
- 17. 2つの文字列の部分文字列を置換する
- 18. 文字列内にある部分文字列の位置を取得する
- 19. 部分一致文字列を太字文字列に置き換えます。
- 20. 文字列のリスト内の文字列を置換する
- 21. 複数の部分文字列を文字列に置き換える - Javascript
- 22. 各文字列のThymeleafは部分文字列を置き換えます
- 23. 文字列を置換するRuby
- 24. 置換文字列内の同じ単語の文字列を置換する
- 25. 文字列の可変文字列の部分文字列を変数に置き換える
- 26. JavaScript内の4 "文字の間の文字列内の文字列の置換
- 27. 文字列の部分文字列
- 28. 文字列のスカラフィルタ部分文字列
- 29. 文字列内の複数の部分文字列を置き換える、配列対HashMap
- 30. 文字列内の1文字を別の文字列に置き換える
私はgsubで反復できるのか分かりませんでした。クール! – fl00r