我有一个带有多个逗号的字符串,字符串替换方法只会更改第一个:
var mystring = "this,is,a,test"
mystring.replace(",","newchar", -1)
结果:"thisnewcharis,a,test"
文档说明默认替换全部,“-1”也表示替换全部,但是不成功。有什么想法吗?
我有一个带有多个逗号的字符串,字符串替换方法只会更改第一个:
var mystring = "this,is,a,test"
mystring.replace(",","newchar", -1)
结果:"thisnewcharis,a,test"
文档说明默认替换全部,“-1”也表示替换全部,但是不成功。有什么想法吗?
String.prototype.replace()
function的第三个参数从未被定义为标准,因此大多数浏览器根本没有实现它。
g
var myStr = 'this,is,a,test';
var newStr = myStr.replace(/,/g, '-');
console.log( newStr ); // "this-is-a-test"
需要注意的是,正则表达式使用需要转义的特殊字符。例如,如果您需要转义点 ( .
) 字符,则应使用/\./
字面量,因为在正则表达式语法中,点匹配任何单个字符(行终止符除外)。
如果您需要将变量作为替换字符串传递,而不是使用正则表达式文字,您可以创建RegExp
对象并将字符串作为构造函数的第一个参数传递。正常的字符串转义规则(\
包含在字符串中时的特殊字符前面)将是必要的。
纯娱乐:
var mystring = "this,is,a,test"
var newchar = '|'
mystring = mystring.split(',').join(newchar);