coding/JS

slice, 정규식

JIN_Coder 2022. 7. 18. 23:44

slice(s,e)

s는 시작인덱스, e는 끝 인덱스(e는 포함 안댐 e-1까지 자름)

첫번째 인자로 넘어온 시작 인덱스가 가리키는 값은 포함

두번째 인자로 넘어온 종료 인덱스가 가리키는 값은 포함하지 않는다.

 

두번째 인자를 넘기지 않으면, 시작 인덱스가 가리키는 값부터 배열의 마지막 값까지 모두 복사

 

let a = [0,1,2,3,4,5,6,7,8,9]

console.log(a.slice(0, 5)) // [0,1,2,3,4]
console.log(a.slice(7)) // [7,8,9]

 

 

자바스크립트 배열의 slice()와 splice() 함수

Engineering Blog by Dale Seo

www.daleseo.com

 

 

정규식

replace() 사용시 원하는 값을 찾아서 바꿔주지만, 문자열이나 배열에서 첫번째로 찾은 값만 바꿔주고 모두 다 바꿀수는 없다. 그러기에 원하는 모든 값을 바꿔주려면 정규식을 사용해서 새로운 문자로 바꿔야 함

 

알고리즘을 풀면서 여러 방면으로 정규식을 사용하는 문제를 보았는데

 

, - _ 문자를 제외한 특수문자 를 제거하는 문제였다

function removeSpecialData() {
    //특수문자 검증 start
    let str = new_id;
    let regExp = /[\{\}\[\]\/?,;:|\) *~`!^\+<>@\#$%&\\\=\(\'\"]/gi
    if (regExp.test(str)) {
        //특수문자 제거
        let t = str.replace(regExp, "")
        console.log("특수문자를 제거했습니다. ==>" + t)
        new_id = t
        console.log(new_id)
    } else {
        console.log("정상적인 문자입니다. ==>" + str)
    }
    //특수문자 검증 end
}

.replace(/[^\w-_.]/g, '') // 2    // 더 좋은방법

// / / 사이에 들어가는게 정규식
// [^ ]브라켓 안에 포함되지 않은 문자 중하나를 의미
// \w는 숫자 문자
// -_.
// /[^\w-_.]/은 숫자 문자 - _ . 를 제외한거를 /g 글로벌(모두) 찾아서 ""공백을 만들어라

 

... 같이 .이 연속적으로 나타나면 이걸 . 하나로 바꿔라

let regExp = /\.{2,}/g

str.replace(regExp, ".")

// \.{2,}  .이 2개 이상 중복 되는 것들을  "."로 바꾼다

 

시작과 끝에 . 이 있으면 지워라

let regExp = /^\.|\.$/g

str.replace(regExp, "")

// []없이 ^는 시작표시 $는 끝 표시
// ^\. 시작에 .
// \.$끝에 . 
// | or
// 시작이나 끝에 . 이 있으면 ""으로 바꿔라
 

앵커: 문자열의 시작 ^과 끝 $

 

ko.javascript.info

 

Regular Expression - 정규표현식

http://regexp.elex.pe.kr/

regexp.elex.pe.kr

 

[펌] javascript 특수문자 제거 정규식

1234567891011function regExp(str){  var reg = /[\{ \} \[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\...

blog.naver.com

 

정규식은 너무 외계어 같다 일단은 이정도로 간단하게 사용한것을 적고 나중에 시간내서 완벽히 정리 해야겠다.

 

 

 

 

'coding > JS' 카테고리의 다른 글

for in / for of  (0) 2022.07.27
slice()와 splice() 차이  (0) 2022.07.19
JWT, API  (0) 2022.07.17
filter, set, replace  (0) 2022.07.17
map  (0) 2022.07.16