我想替换JavaScript字符串中出现的所有点(.)
例如,我有:
var mystring = 'okay.this.is.a.string';
我想要得到:这是一个字符串。
到目前为止,我尝试了:
mystring.replace(/./g,' ')
但这最终将所有字符串替换为空格。
我想替换JavaScript字符串中出现的所有点(.)
例如,我有:
var mystring = 'okay.this.is.a.string';
我想要得到:这是一个字符串。
到目前为止,我尝试了:
mystring.replace(/./g,' ')
但这最终将所有字符串替换为空格。
当前回答
示例:我想将所有双引号(")替换为单引号('),然后代码将如下所示
var str= "\"Hello\""
var regex = new RegExp('"', 'g');
str = str.replace(regex, '\'');
console.log(str); // 'Hello'
其他回答
这更简洁/可读,应该比Fagner Brack发布的更好(toLowerCase不是在循环中执行的):
String.prototype.replaceAll = function(search, replace, ignoreCase) {
if (ignoreCase) {
var result = [];
var _string = this.toLowerCase();
var _search = search.toLowerCase();
var start = 0, match, length = _search.length;
while ((match = _string.indexOf(_search, start)) >= 0) {
result.push(this.slice(start, match));
start = match + length;
}
result.push(this.slice(start));
} else {
result = this.split(search);
}
return result.join(replace);
}
用法:
alert('Bananas And Bran'.replaceAll('An', '(an)'));
下面是replaceAll的另一个实现。希望它能帮助到别人。
String.prototype.replaceAll = function (stringToFind, stringToReplace) {
if (stringToFind === stringToReplace) return this;
var temp = this;
var index = temp.indexOf(stringToFind);
while (index != -1) {
temp = temp.replace(stringToFind, stringToReplace);
index = temp.indexOf(stringToFind);
}
return temp;
};
然后你可以使用它:
var myText =“我的名字是乔治”; var newText = myText。replaceAll(“乔治”,“迈克尔”);
简单的方法
“先生”.split (' . ') . join (" ");
..............
控制台
还有一个很容易理解的解决方案:)
var newstring = mystring.split('.').join(' ');
对于这个简单的场景,我也建议使用javascript内置的方法。
你可以试试这个:
"okay.this.is.a.string".split(".").join("")
问候