仅在字符的两侧添加一个空格

Add only single space on either side of character

本文关键字:一个 空格 添加 字符      更新时间:2023-09-26
//case 1
var str = 'x=12';
str = str.replace(/=/g, ' = ');  // str = 'x = 12';
//case 2
var str = 'x =12';
str = str.replace(/ =/g, '= '); // str = 'x = 12';
//case 3
var str = 'x= 12';
str = str.replace(/= /g, ' ='); // str = 'x = 12';

我需要检查所有 3 种情况。如果我只使用上面的所有 3 个replace()语句,它会添加额外的空格。有更好的方法吗?(也许是正则表达式)

//case 1
var str = 'x=12';
str.replace(/'s*='s*/,' = ');  // str = 'x = 12';
//case 2
var str = 'x =12';
str.replace(/'s*='s*/,' = '); // str = 'x = 12';
//case 3
var str = 'x= 12';
str.replace(/'s*='s*/,' = '); // str = 'x = 12';

这个正则表达式应该这样做:

/ ?= ?/g

您还可以使用:

/'s?='s?/g

此处's匹配所有空格字符。

它检查是否有一个=符号,其前后是否有空格。?符号检查空格字符是否与零或一次匹配。

str = str.replace(/ ?= ?/g, ' = ');