일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- r타입 비교
- list
- 2차원 리스트
- R 비교
- String 검색
- 옵션태그
- 2차원 list
- 값 추가
- Integer 값 비교
- R타입비교
- 인티저 값 비교
- 배열 값 추가
- 파라미터 무한
- 리스트
- jsp
- 배열 생성자
- 값 넣기
- 같은지
- 배열 값
- 마우스 올리면
- 값 비교
- String 찾기
- 비교
- 멀티 페이지
- 2차원배열
- 마우스 올릴때
- jsp 테이블
- 플러터 null
- 무한 파라미터
- select
- Today
- Total
JAVA를 JAVA라
[Javascript] replace(/'바꿀 문자열'/gi,'바뀔 문자열'), 전체 문자열 바꾸기 본문
var text = 'aaaabbbbcccc';
var regexForB = /b/gi; // b 문자 전체
var regexForC = /c/gi; // c 문자 전체
text
.replace(regexForB, 'a') // aaaaaaaacccc
.replace(regexForC, 'a') // aaaaaaaaaaaa
// 출처 : https://deeplify.dev/front-end/js/replace-and-replace-all
g는 글로벌, 모든 문자열을 뜻하며
i는 대소문자 구분 없이 replace 하겠다는 뜻이다.
참고)
정규 표현식 - JavaScript | MDN
정규 표현식은 문자열에 나타는 특정 문자 조합과 대응시키기 위해 사용되는 패턴입니다. 자바스크립트에서, 정규 표현식 또한 객체입니다. 이 패턴들은 RegExp의 exec 메소드와 test 메소드 ,
developer.mozilla.org
추가)
var pn = '010-1234-5678';
pn.replace(/[\+][0-9]{2}[ ]/,'0');
/ / 안에 있는 부분을 하나하나 뜯어보자면 먼저
1. [\+] 에서 \는 +가 정규식에서 쓰이는 특수 패턴일 경우
그 특수패턴으로 읽지 않고 '+'라는 문자 자체로 보겠다는 것을 의미한다.
예를 들어 /a*/ 에서의 특수문자 '*'는 0개 이상의 'a' 문자가 등장함을 나타낸다.
그러나 이런 특수한 패턴을 읽지 않고 'a*'라는 문자 자체를 찾기 위해서는
* 앞에 \를 적어주어 특수패턴이 아닌 문자 자체라는 것을 나타내줄 수 있다.
2. [0-9] 는 0에서부터 9까지의 숫자를 의미한다. (0, 1, 2, 3, ..., 9)
3. {2}는 앞의 문자가 2번 나타나는 부분에 대응된다.
예를 들어, /a{2}/는 "candy,"의 'a'에는 대응되지 않지만, "caandy,"의 모든 a 와, "caaandy."의 첫 두 a 에는 대응된다.
4. [ ]는 빈칸이다.
예측하건데 아마 +82 등 국가코드가 붙어있는 경우 +82 10-1234-5678 과 같이 표시되는데, 이를
010-1234-5678로 바꾸기 위한 replace 구문이 아닐까 생각된다.
'JAVA > 열일하는 블로그' 카테고리의 다른 글
[dart/flutter] 이미지 추가할 때 (0) | 2022.01.06 |
---|---|
[dart] Null safety, 변수의 null값 허용하기 (0) | 2022.01.05 |
[Shell] 기타 명령어 (0) | 2021.12.23 |
[Shell] 읽기.쓰기.실행 권한을 숫자로 읽기 (0) | 2021.12.23 |
[Javascript] Highcharts 툴팁이 div에 잘릴때... (0) | 2021.12.20 |