关于js中的正则表达式

时间:2016-01-03 02:09:51

标签: javascript regex

我是js的菜鸟,我想知道我是否可以使用正则表达式搜索和替换字符串中的字符,但是有一些规则,例如ex:

我想说我想搜索并替换分号之前的每个空格,代码将是这样的:

someString.replace(/\s*;/, "");

但是,当我这样做时,当然是&#39 ;;'它会被""取代。我的问题是:有没有办法在分号之前删除所有空格但不删除分号?

感谢您的回答!!!

2 个答案:

答案 0 :(得分:2)

您正在用空字符串\s*;替换""。您需要将其替换为;

替换:

someString.replace(/\s*;/, "");

使用:

someString.replace(/\s*;/, ";");

编辑:
如果要在字符串中多次执行此操作,请使用全局修饰符:someString.replace(/\s*;/g, ";");

选中demo

答案 1 :(得分:1)

你的后缀是一个分号,你可以简单地用分号替换整个匹配,这将保留它。既然你可能希望你的程序在同一个字符串上多次这样做,我建议使用全局标志。您还想要替换至少一个空格字符。

这给了我们

someString.replace(/\s+;/g, ';');