我是js的菜鸟,我想知道我是否可以使用正则表达式搜索和替换字符串中的字符,但是有一些规则,例如ex:
我想说我想搜索并替换分号之前的每个空格,代码将是这样的:
someString.replace(/\s*;/, "");
但是,当我这样做时,当然是&#39 ;;'它会被""取代。我的问题是:有没有办法在分号之前删除所有空格但不删除分号?
感谢您的回答!!!
答案 0 :(得分:2)
您正在用空字符串\s*;
替换""
。您需要将其替换为;
。
替换:
someString.replace(/\s*;/, "");
使用:
someString.replace(/\s*;/, ";");
编辑:
如果要在字符串中多次执行此操作,请使用全局修饰符:someString.replace(/\s*;/g, ";");
选中demo。
答案 1 :(得分:1)
你的后缀是一个分号,你可以简单地用分号替换整个匹配,这将保留它。既然你可能希望你的程序在同一个字符串上多次这样做,我建议使用全局标志。您还想要替换至少一个空格字符。
这给了我们
someString.replace(/\s+;/g, ';');