繁体   English   中英

Javascript .replace()不执行任何字符串操作

[英]Javascript .replace() does nothing to string

作为拥有2年以上经验的Web开发人员,我很尴尬地问这个问题,但是-

以下代码无法正常工作:

var string = "Daln, nik, But, Blaz, wan";
string = string.replace("/[^a-zA-Z,]+/g", "");

如果字符串没有被删除,我的意思是即使我将其设置为正则表达式

var string = "Daln, nik, But, Blaz, wan";
string = string.replace("/[a-zA-Z,]+/g", "");

它应该替换从a到z的任何字符(大写和小写)以及任何逗号,但不能替换。 我已经在浏览器和开放式测试环境(例如jsbin.com)中进行了尝试,结果是相同的。

与我的看法相反,正则表达式可能有问题,它似乎可以独立运行,这已经通过实时测试工具https://regexr.com/进行了证明。

所以在这里,我想知道到底是什么名字错了,并且我感谢任何提供帮助的人!

您正在传递replace字符串而不是正则表达式。

从正则表达式周围删除"字符。

它没有任何作用,因为您试图替换不存在的字符串"/[a-zA-Z,]+/g"

您需要删除引号以有效使用正则表达式:

var string = "Daln, nik, But, Blaz, wan";
string = string.replace(/[a-zA-Z,]+/g, "");

您没有将正则表达式作为参数传递。 您正在传递string 根据文档。

正则表达式文字:由斜线( // )之间的模式组成。

您将表达式用""引号引起来。 这使它成为string 如果要使用字符串创建正则表达式,则应删除"" 您可以使用RegExp()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM