javascript 에서 어떤 대상 문자를 원하는 문자로 변환할때는 replace 함수를 이용한다.
* 기본 사용법
대상문자열.replace('대상문자', '바꿀문자')
- return 바뀐문자열
위의 형식으로 사용한다.
var str = "abcd";
str.replace('a', 'x'); "a를 x로 바꿔야지!!"
수행결과 ---> xbcd
혹은
var changedStr = str.replace('a','x');
으로 다른 변수에 넣으면서 사용!
* 문자열내 전체를 바꾸고 싶을때
str = "abcd abcd abcd";
여기서
str.replace('a', 'x');
를 다시 수행하면
결과는 xbcd abcd abcd
즉, 제일 처음 것... 한번만 변환 하고 끝난다.
문자열내 전체를 바꾸고 싶다면?
replace(/대상문자/옵션, '바꿀문자')
str.replace(/a/g, 'x'); "문자열내 a들을 모두 x로 바꿔야지!!"
이런식으로 사용한다.
수행결과 ----> xbcd xbcd xbcd
replace(/대상문자/g, '바꿀문자')
슬래쉬를 활용하여..
여기서 g라고 적힌 부분은 옵션으로
g(global) 는 모든 문자들을 검색하여 변환하겠다!!
i(ignoreCase) 는 대소문자 구분 없이 다 변환하겠다!!
의 의미로
str.replace(/a/gi, 'x'); "문자열내 a들을 모두 x로 바꾸겠다!! i옵션 넣었으니 A까지!"
식으로도 사용한다.
* 문자열내 점 . dot 바꾸기!
var str = "abc.def.ghi";
문자열내 점이 들어있을때 모든 점을 띄어쓰기로 바꾸겠다는 의미로
str.replace(/./gi, ' '); 를 수행해버리면.... 모든 문자들이 공백이 되어버린다.
점(.)을 바꾸고 싶은데 replace 수행시 .은 모든 문자로 인식해버려서 다 변환해버린다.
이때 정말 점을 바꾸고 싶다면
str.replace(/\./gi, ' ');
점(.) 앞에 \ 역슬래쉬 하나를 추가해주면 원하는 의도대로 동작한다.
'불특정 다양한 기록 Part. IT' 카테고리의 다른 글
MSSQL 프로시저 문법 반복문으로 테이블 지우기 (0) | 2017.05.18 |
---|---|
mssql table indexes reorganize (script, command) 테이블 인덱스 (0) | 2016.10.31 |
spring maven dependency 에 mssql jdbc 추가하기 (0) | 2016.06.08 |
엑셀(excel) 새창 열기 (따로 열기) (0) | 2016.05.19 |
Solutions of “Windows cannot be installed to disk 0 partition 1” (0) | 2016.05.13 |