C#的Replace函数会替换掉字符串中的所有要替换的字符。而JS中的replace函数只是替换第一次遇到的这个字符,如果后面还有该字符则不替换。这些就是区别。JS中的replace函数可以使用循环解决这个问题。
例如:
代码
var
tag
=
document.getElementById(
"
myTag
"
);
for ( var i = 0 ; i < tag.length; i ++ ) {
if (unit.charAt(i) == ' # ' ) {
unit = unit.replace( ' # ' , ' a ' );
}
}
for ( var i = 0 ; i < tag.length; i ++ ) {
if (unit.charAt(i) == ' # ' ) {
unit = unit.replace( ' # ' , ' a ' );
}
}
C#中的Replace函数返回的是替换后的新的字符串,所以还需要在赋值一次。
string
str
=
"
abcd
"
;
str.Replace( " a " , " z " ); // 此处原字符串没有改变
str = str.Replace( " a " , " z " ); // 此处str改变了
str.Replace( " a " , " z " ); // 此处原字符串没有改变
str = str.Replace( " a " , " z " ); // 此处str改变了