我正在從包含以下兩行的文件中讀取:「hello hi」和「hii hey」。 每行的第一個字符串是正則表達式,第二個字符串是替換字符串,即String.replaceAll(「hello」,「hi」)。我應該通過文件中的每一行來替換字符串中的正則表達式。但有一個問題。處理後的字符不應再次被替換。String.replaceAll()方法:如何確保處理的字符不能再被替換
例如,我有這個字符串:「helloi」。 第一行後,我有「hii」。 第二行後,天真的方法會導致「嘿」。
我想確保「hii」仍然保持爲「hii」,因爲它已經包含處理過的字符。
請注意,我使用的字符串作爲示例(「helloi」)只是一個簡單的字符串,實際的字符串將很大並且包含多行。
你如何實現它?
編輯:讓我用一個例子來更清楚地解釋我的情況。我有一個字符串「helloi hii」。在文件的第一行之後,我有「hii hii」。但在第二行之後,我會有「hii嘿」。第一個「hii」包含已處理的字符,因此它不會被替換
您執行1遍所有替換。 –
好主意。但是,你如何實現它?我的方法是迭代文件中的所有行,不可避免地,字符串中的某些字符將不止一次被替換。 – uohzxela
如上所述,該要求沒有意義。你似乎只想匹配每一行中的第一個標記與它自己。你完全可以從每行刪除第一個標記,而不用擔心它是什麼,正則表達式,替換等等。 – EJP