我想在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;
}
答案 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了解更多