2010-10-22 215 views
0

我有這個字符串: 「快速棕色f0x跳躍懶惰d0g,快速棕色f0x跳躍懶惰d0g。」。替換字符串內的字符串

我需要一個函數,它將取代「棕色」之間的所有和「」與「Ø」。因此,輸出將如下所示: 「快速棕色狐狸跳過懶惰d0g,快速棕色狐狸跳過懶惰d0g。」「。 所以它會看起來整個字符串,最重要的是將保持所有其他零完整。

function(text, leftBorder, rightBorder, searchString, replaceString) : string; 

有沒有什麼好的算法?

+0

這可能有助於爲您提您正在使用的編程語言,因爲有些API帶有可以不同方式處理字符串的特定類,從而導致略有不同的算法或實現。 – 2010-10-22 02:01:48

+0

什麼是leftborder和rightborder?在字符串內的位置? – akonsu 2010-10-22 02:09:41

+0

akonsu,不,他們是找到字符串。 Luis,我可以理解許多語言,所以只要能夠通過查看代碼就能看到底層算法,它就可以是任何你想要的語言。 – ehpc 2010-10-22 03:20:35

回答

1

如果你有Python,下面是一個只使用字符串操作的例子,例如split()indexing等等。你的編程語言也應該有這些功能。

>>> s="The quick brown f0x jumps 0ver the lazy d0g, the quick brown f0x jumps 0ver the lazy d0g." 
>>> words = s.split("lazy") 
>>> for n,word in enumerate(words): 
...  if "brown" in word: 
...   w = word.split("brown") 
...   w[-1]=w[-1].replace("0","o") 
...   word = 'brown'.join(w) 
...  words[n]=word 
... 
>>> 'lazy'.join(words) 
'The quick brown fox jumps over the lazy d0g, the quick brown fox jumps over the lazy d0g.' 
>>> 

的步驟:

  1. 拆分的的「懶」字對一個數組的
  2. 通過A中的每個元素去找「棕色」
  3. 如果找到,分割上將「brown」轉換爲數組B.將要更改的部分是 最後一個元素
  4. 用您的編程語言提供的任何方法替換它
  5. 使用「棕色」
  6. 更新此元素的第一陣列中的一個
  7. 最後加入回陣列B,加入整個字符串後面使用「懶」
+0

鬼狗,權力與平等。 – ehpc 2010-10-22 03:24:07