Stackvoverflow上的第一次,所以希望我能夠儘可能清楚地發佈這個正確的&。請隨意將此分開,並讓我知道如果需要將來如何發佈更清晰的問題。Ruby - 如果實例不匹配,則替換字符串中的單詞
新手到紅寶石在這裏,練習我可以在哪裏。
我想知道如何在ruby中替換字符串中的實例。
例如:
說我有:
string = 'richard julie richard julie sam letty sam letty'
我怎麼會替換任何實例的字符串,不等於「理查」或「朱莉」 &字理查德更換一次?
因此新的字符串將讀取後說紅寶石方法實現:
string = 'richard julie richard julie richard richard richard richard
我曾嘗試使用GSUB像這樣:
def string_replace(str)
if str.include?("sam" || "letty")
str.gsub! "sam" && "letty", "richard"
end
end
我已經知道有很多的問題,這嘗試;
當使用布爾運算符時,只有一個參數得到評估!任何人都可以闡明爲什麼?這也意味着當我需要'sam'&'letty'替換爲'richard'時,只有一個詞正在被替換。
此嘗試也非常有限,因爲它只會替換那些字符串sam & letty出現的那些實例。有沒有更好的方法可以涵蓋任何不等於理查德或朱莉被再次替換爲理查德這個詞的單詞?
任何可以給予的幫助將不勝感激。
謝謝&新年快樂。
P.s我該如何使用back tick逃生功能,以便我可以打印灰色塊來將它整理好?謝謝
For _P。 S._問題,只需檢查我的編輯。 – mudasobwa
'string.split.map {| w | w!=「richard」&& w!=「julie」? 「richard」:w} .join('')' –
@ sagarpandya82不錯的答案 - 謝謝,但在下面標記爲更簡潔易懂的ReggieB解決方案。再次感謝。 –