而str.replace(/-/g,"!")则可以전체부替换掉匹配的字符(g为전체局标志)。
replace()
replace() 메서드는 다음을 수행할 때 결과로 나오는 문자열을 반환합니다. 첫 번째 인수
(정규 표현식)와 일치하는 텍스트를 두 번째 인수(문자열)의 텍스트로 바꿉니다.
정규식 선언에 g(전역) 플래그가 설정되지 않은 경우 이 메서드는 패턴의 첫 번째
발생만 바꿉니다. 예를 들어
var s = "안녕하세요. 정규식은 재미있습니다." ;s = s.replace(/./, "!" ); // 첫 번째 마침표를 느낌표로 바꿉니다.alert(s);
“Hello! 정규식은 재미있습니다.” g 플래그를 포함하면 인터프리터가
전역 교체를 수행하여 일치하는 모든 하위 문자열을 찾아서 교체합니다. 예를 들어
var s = "안녕하세요. 정규식은 재미있습니다." ;s = s.replace(/./g, "!" ); // 모든 마침표를 느낌표로 바꿉니다.alert(s);
다음과 같은 결과가 나옵니다. “안녕하세요! 정규식은 재미있어요!”
所以可以用以下几种方式.:
string.replace(/reallyDo/g, replacementWith);
string.replace(new RegExp(reallyDo, 'g'), replacementWith); 문자열 : 字符串表达式包含要替代的子字符串。
Reallydo : 被搜索的子字符串。
교체 : 用于替换的子字符串。