說我有字符串「foo1bar2」,我想要替換以執行以下替代與期望的輸出「bar1foo2」並行。循環字符串替換
foo => bar
bar => foo
字符串不能被標記,因爲子字符串可能發生在任何地方,任何次數。
一個幼稚的方法將是這樣的替換,但它會失敗,因爲第二次替換會撤消第一次。
String output = input.replace("foo", "bar").replace("bar", "foo");
=> foo1foo2
或
String output = input.replace("bar", "foo").replace("foo", "bar");
=> bar1bar2
我不知道正則表達式可以幫助我在這裏要麼?順便說一句,這不是家庭作業,只是令人討厭的興趣。我嘗試過使用Google搜索,但不確定如何描述問題。
我是那種類似想法的,但肯定必須有一個更好的方法? – Adam
@Adam你可以編寫自己的方法來遍歷字符串並搜索要替換的字符。基本上這意味着解析String並將每個單獨的字符視爲一個標記。 –
@Adam可能有正則表達式和捕獲組的解決方案。不過,我只有一個模糊的想法。 –