2015-01-10 4 views
-1
//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() 문을 모두 사용하면 여분의 공백이 추가됩니다. 더 좋은 방법이 있습니까? 이 정규식 그렇게해야한다 (아마도 정규식)문자 양쪽에 하나의 공백 추가

답변

1

:

/ ?= ?/g 

은 또한 사용할 수 있습니다

다음
/\s?=\s?/g 

\s 일치 모든 공백 문자를.

= 부호 앞에 또는 앞에 공백이 있는지 여부를 확인합니다. ? 기호는 공백 문자가 0 번 또는 1 번 일치하는지 확인합니다.

str = str.replace(/ ?= ?/g, ' = '); 
2
//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';