我想替换JavaScript字符串中出现的所有点(.)
例如,我有:
var mystring = 'okay.this.is.a.string';
我想要得到:这是一个字符串。
到目前为止,我尝试了:
mystring.replace(/./g,' ')
但这最终将所有字符串替换为空格。
我想替换JavaScript字符串中出现的所有点(.)
例如,我有:
var mystring = 'okay.this.is.a.string';
我想要得到:这是一个字符串。
到目前为止,我尝试了:
mystring.replace(/./g,' ')
但这最终将所有字符串替换为空格。
当前回答
您可以使用RegExp javascript对象替换任何字符串/字符的所有出现。
这是代码,
var mystring = 'okay.this.is.a.string';
var patt = new RegExp("\\.");
while(patt.test(mystring)){
mystring = mystring .replace(".","");
}
其他回答
示例:我想将所有双引号(")替换为单引号('),然后代码将如下所示
var str= "\"Hello\""
var regex = new RegExp('"', 'g');
str = str.replace(regex, '\'');
console.log(str); // 'Hello'
还有一个很容易理解的解决方案:)
var newstring = mystring.split('.').join(' ');
您可以使用RegExp javascript对象替换任何字符串/字符的所有出现。
这是代码,
var mystring = 'okay.this.is.a.string';
var patt = new RegExp("\\.");
while(patt.test(mystring)){
mystring = mystring .replace(".","");
}
String.prototype.replaceAll = function (needle, replacement) {
return this.replace(new RegExp(needle, 'g'), replacement);
};
补充(搜索,补充)[MDN]
".a.b.c.".replaceAll('.', ' ')
// result: " a b c "
// Using RegEx. You MUST use a global RegEx.
".a.b.c.".replaceAll(/\./g, ' ')
// result: " a b c "
replaceAll()用replaceWith替换所有出现的搜索。
它实际上与使用全局regex(*)的replace() [MDN]相同,在我的视图中,仅仅是replaceAll()更具可读性。
(*)表示它将匹配所有的事件。
重要(!)如果你选择regex:
当使用regexp时,你必须设置全局(“g”)标志; 否则,它将抛出TypeError: "replaceAll必须被调用 一个全局RegExp”。