jsJianzhiオファー05.スペースを交換してください

文字列sの各スペースを「%20」に置き換える関数を実装してください。

输入:s = "We are happy."
输出:"We%20are%20happy."
  1. 通常のマッチングの置換を使用
var replaceSpace = function(s) {
    
    
    return s.replace(/\s/g,'%20');
};
  1. 分割と配列を使用した結合メソッド
var replaceSpace = function(s) {
    
    
    return s.split(' ').join('%20');
};
  1. replaceAllメソッド
var replaceSpace = function(s) {
    
    
    return s.replaceAll(' ', '%20')
};
  1. 所定の位置に交換
**
 * @param {
    
    string} s
 * @return {
    
    string}
 */
var replaceSpace = function(s) {
    
    
    if(s.length === 0){
    
    
        return "";
    }
    let spaceNum = 0;
    for(let i = 0 ; i < s.length; i++){
    
    
        if(s[i] === ' '){
    
    
            spaceNum++;
        }
    }
    // 将字符串转为数组
    const sArr = s.split('');
    // 扩充数组长度 长度不够时会自动增加
    let newTempLength = s.length + 2 * spaceNum;

    for(let i = sArr.length-1 , j = newTempLength-1; i >= 0; i--,j--){
    
    
        if(sArr[i] != ' '){
    
    
            sArr[j] = sArr[i];
           
        } else {
    
    
             sArr[j] = '0';
            sArr[j-1] = '2';
            sArr[j-2] = '%';
            j = j - 2;
        }
    }
    // 将数组变为字符串
    return sArr.join('');

};

おすすめ

転載: blog.csdn.net/tscn1/article/details/114902198