String.replace(“a”,”b”) 은 a 를 한번만 찾아요;
자바스크립트에서 문자열에서 “a” 가 나오면 “b“로 교체해주는 함수가 바로 replace()인데;
이 자식은 한번만 딸랑 바꿔주더라는!!
그걸 해결 하려면 정규식을 사용 하거나 “a“가 안나올때까지 반복해서 replace 해주는 프로토타입 함수를 만들어서 사용 정규식의 내부 로직은 모르겠으나 정규식 쓰는게 나아 보인다;
정규식을 사용해 보면
String.replace(/(a)/ig,“b”);
replaceAll이라는 프로토타입 함수를 만들면
String.prototype.replaceAll = function( str, replacements )
{
var temp = this;
while( temp.indexOf( str ) != -1 )
temp = temp.replace( str, replacements );
return temp;
}
이렇게 사용할수도 있죠잉
이런 초보적인 것도 모르면서 자바스크립트 하는 불쌍한 나같은 놈도 있으니 낙담말고 다들 열심히 삽시다;












May 16, 2008 9:29 am
아~~~주 어렴풋한 기억으론
정규식을 사용하는 것보다 replaceAll 함수를 만들어서 하는게 더 나은 퍼포먼스를 냈던것으로 기억이 나는데..
혹 퍼포먼스 테스트 해보셨다면 알려주세요~