문자열 분리
[JS] split() 메서드에서 빈 문자열이 생기는 원리
[JS] split() 메서드에서 빈 문자열이 생기는 원리
2024.05.24str.split(separator, limit?) 메서드는 구분자(separator)를 기준으로 문자열을 분리할 때 사용하한다. 사용법도 간단하고 개발하면서 가장 많이 사용하는 메서드 중 하나다. 하지만 split()을 사용하다보면 의도치 않게 '' 빈 문자열이 생기는 상황이 종종 발생한다. split() 메서드는 문자열 시작 지점부터 구분자를 탐색하면서 그 사이에 어떤 문자열이 존재하는지 확인한다. 만약 구분자를 제외하고 다른 문자열이 없으면 빈 문자열을 반환한다. 정리하면 아래 3가지 상황에 부합할 때마다 빈 문자열이 발생한다. 구분자가 문자열 처음에 위치할 때구분자가 문자열 마지막에 위치할 때구분자 두 개가 연속으로 나타날 때'?apple'.split('?'); // ['', 'apple']'??..
[React/JS] 드래그한 문자열 분리(랩핑)하기 / Selection API
[React/JS] 드래그한 문자열 분리(랩핑)하기 / Selection API
2024.05.21아래와 같은 문자열이 있을 때 마우스로 드래그해서 텍스트를 선택할 때마다 태그로 감싸도록 구현하는 게 목표. Pharetra convallis hendrerit integer nec eleifend tellus luctus lorem dignissimPharetra convallis hendrerit integer nec eleifend tellus luctus lorem dignissimPharetra convallis hendrerit integer nec eleifend tellus luctus lorem dignissim 드래그한 문자열 랩핑❶ 마우스 클릭/텍스트 드래그/클릭 해제 → onMouseUp 이벤트 호출 ❷ 선택한 영역에 대한 Selection 객체 획득const selection =..
[JS] 문장, 단어, 자소별로 문자열 분리하기
[JS] 문장, 단어, 자소별로 문자열 분리하기
2024.05.17split() 메서드의 문제점자바스크립트에서 문자열을 분리할 때 일반적으로 split() 메서드를 사용한다. 하지만 아래처럼 구분자는 결과 배열에서 제외되고 불필요한 공백이 추가된다. 즉, language-sensitive 하지 않는 단점이 있다. language-sensitive는 문맥에 맞는 표현과 용어 사용을 의미한다. 한국어로는 언어 감수성이라고 부른다. 'Hello! How are you?'.split(/[.!?]/);// ['Hello', ' How are you', ''] 💡 정규식 관련 참고표현식을 하나의 단위로 취급하는 포획 괄호를 사용하면 구분자도 결과 배열에 포함할 수 있다[] 문자 그룹은 대괄호 내부 문자열 중 하나라도 일치하는 경우를 의미한다 Intl 자바스크립트 API를 활용하..