開始學算法(刷算法題)過程記錄 4
題目描述:請實現(xiàn)一個函數(shù),將一個字符串s中的每個空格替換成“%20”。例如,當字符串為We Are Happy.則經(jīng)過替換之后的字符串為We%20Are%20Happy。
解題思路:書中用的是雙指針從后往前插入的辦法,用JS實現(xiàn)會更加簡單,因為JS有非常強大的字符串處理函數(shù)。
算法實現(xiàn):
str.split(separator,howmany)把一個字符串分割成字符串數(shù)組:
參數(shù)描述
separator 必需。字符串或正則表達式,從該參數(shù)指定的地方分割 stringObject。
howmany 可選。該參數(shù)可指定返回的數(shù)組的最大長度。如果設置了該參數(shù),返回的子串不會多于這個參數(shù)指定的數(shù)組。如果沒有設置該參數(shù),整個字符串都會被分割,不考慮它的長度。
返回值
一個字符串數(shù)組。該數(shù)組是通過在 separator 指定的邊界處將字符串 stringObject 分割成子串創(chuàng)建的。返回的數(shù)組中的字串不包括 separator 自身。
s.split(" ")返回結果為[ 'we', 'are', 'happy' ]
array.join(separator)方法用于把數(shù)組中的所有元素轉換一個字符串
separator 可選。指定要使用的分隔符。如果省略該參數(shù),則使用逗號作為分隔符。
返回值
返回一個字符串。該字符串是通過把 arrayObject 的每個元素轉換為字符串,然后把這些字符串連接起來,在兩個元素之間插入 separator 字符串而生成的。

replace() 方法用于在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。
string.replace(searchvalue,newvalue)
searchvalue 必需。規(guī)定子字符串或要替換的模式的 RegExp 對象。
請注意,如果該值是一個字符串,則將它作為要檢索的直接量文本模式,而不是首先被轉換為 RegExp 對象。
newvalue 必需。一個字符串值。規(guī)定了替換文本或生成替換文本的函數(shù)。