我想查找字符串內給定子字符串的實例,並隨機替換它:不是在它的每個實例中,而是僅在本地。 我正在考慮對子字符串的每個實例使用.each方法,然後在代碼塊內使用rand取代或取消取決於結果。 但是我有點在如何在這種情況下實現.each方法。誰能幫忙? (我使用Ruby 1.9)將字符串中的子串的隨機實例替換爲字符串(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 }
例如:
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. 替換字符串的所有實例的字符串的Python
- 5. Ruby將靜態字符串添加到隨機字符串中?
- 6. Ruby的字符串替換
- 7. 如何替換字符串中的子字符串的所有實例
- 8. 字符串中的字符串替換
- 9. 用隨機字符替換字符串中的每個數字
- 10. 當字符串包含[]字符時替換字符串中的子字符串
- 11. 替換字符串字符的例外
- 12. 用NULL替換字符串的實例
- 13. Notedpad ++用隨機數替換字符串
- 14. 替換字符串中的50%字符(隨機)
- 15. 替換字符串內的字符串
- 16. 替換字符串開始處以外的所有子字符串實例
- 17. 將子字符串替換爲'無'
- 18. 將子字符串替換爲無
- 19. 替換字符串中的子字符串,除非字符串在引號內
- 20. Java。如何將隨機的字符行轉換爲字符串?
- 21. Ruby:將時間字符串轉換爲xsd:datetime符合字符串?
- 22. 將字符串映射爲替換字符串的算法
- 23. 替換字符串的特殊字符爲空字符串
- 24. 將'\'替換爲字符串中的' - '
- 25. 替換ruby字符串中的行
- 26. 隨機化字符串中的字符?
- 27. 替換字符串中的所有字符實例
- 28. 替換字符串中一個字符的多個實例
- 29. 替換Python中字符的每個實例字符串
- 30. 替換字符串中的多個子字符串
不知道我可以迭代gsub。涼! – fl00r