Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 문자열의 슬래시 반전하기: 역슬래시로 변환하는 방법

문자열을 인수로 받아, 그 안에 포함된 모든 슬래시(/)를 역슬래시(\)로 변환한 새로운 문자열을 반환하는 JavaScript 함수를 작성해야 합니다.

원본 문자열의 나머지 문자들은 그대로 유지하고, 슬래시의 방향만 반전시키면 됩니다.

그럼 이 함수의 코드를 직접 작성해 보겠습니다.

예제

구현 코드는 다음과 같습니다.

const str = 'Th/s str/ng /conta/ns some/ forward slas/hes';
const invertSlashes = str => {
    let res = '';
    for(let i = 0; i < str.length; i++){
        if(str[i] !== '/'){
            res += str[i];
            continue;
        };
        res += '\\';
    };
    return res;
};
console.log(invertSlashes(str));

출력

위 코드를 실행하면 콘솔에 다음과 같은 결과가 출력됩니다.

Th\s str\ng \conta\ns some\ forward slas\hes

더 간단한 방법: replace() 활용

반복문 대신 정규표현식과 String.prototype.replace() 메서드를 함께 사용하면 훨씬 간결하게 동일한 기능을 구현할 수 있습니다.

const invertSlashes = str => str.replace(/\//g, '\\');

정규표현식 /\//g는 g(전역) 플래그 덕분에 문자열 전체에서 모든 슬래시(/)를 찾아내고, 이를 역슬래시(\)로 한 번에 교체합니다. 코드가 짧아질 뿐만 아니라 내장 메서드를 활용하므로 가독성과 유지보수 측면에서도 더 유리합니다.