在Javascript中的str_replace

时间:2017-04-07 06:06:28

标签: javascript html html5 function

我想在javascript中执行str_replace但不使用内置函数。 我想要Scratch Code。

请有人可以获得此代码吗? 我想在不使用STR_REPLACE的情况下使用JAVASCRIPT INBUILt功能STR_REPLACE DITTO。

function Replace(string, charToChange, charToReplace){
var replaced = "";
for(var i=0; i < string.length; i++){
    if(string[i] == charToChange){
        replaced = charToReplace;
    } 
}
return replaced;
}

4 个答案:

答案 0 :(得分:0)

JS有一个替换功能。通过这个链接: https://www.w3schools.com/jsref/jsref_replace.asp

答案 1 :(得分:0)

尝试以下示例

在这里输入代码

    function myFunction() 
           {
              var str1 = 'This is a test string.';
            // Let's replace the word This with 'that'
             str1 = str1.split('This').join('that');   
        }

注意:split函数内的字符串区分大小写。 希望这会对你有所帮助......

答案 2 :(得分:0)

您可以尝试以下代码

var string = "abc Code Snippet abc pqr abc";
var result = string.split(' ');
var i =0;
result.forEach(function(element){
if(result[i] == "abc"){
result[i] = "change";
}
i++;
});
var a = result.join(" "); 
alert(a);

答案 3 :(得分:0)

请注意以下内容完全假设您不能使用OP在评论中说明的内置函数

function Replace(s, strOld, strNew){
    //find returns the starting index of the string you are looking for
    // do some exception handling or return -1 if not there
    var loc = find(s, strOld); //you should implement find
    //assuming you can't use the slice function
    retStr = "";
    for(var i = 0; i < loc; i++){
        retStr += s[i]; //builds new string with chars up to loc
    }
    retStr += strNew; //put the new string in
    for(var i = loc + strOld.length; i < s.length; i++){
        retStr += s[i]; //puts remaining chars from original string
    }
    return retStr;

}

做这样的事情。我把find函数留给你了,但其余的是一个非常简单的算法。对于与连续发生的strOld的匹配,查找应该逐个检查。

注意:我更改了原始函数中的变量名称。字符串到s,因为在类型后命名变量是不好的形式。我改变了另外两个因为它们有误导性,因为你试图替换一个不是char的字符串。

我还建议您使用===代替==进行相等,直到您了解其中的差异为止。 See here了解更多