자바스크립트에서는 문자열에서 공백을 필터링하는 여러 가지 방법이 있습니다. 이 기사에서는 문자열의 공백 문자로 이를 수행하는 방법을 다섯 가지 방법으로 보여줌으로써 이를 수행할 수 있는 방법을 설명하려고 합니다.
- 루프 사용
- 배열 방법 사용:분할/필터링/결합 방법
- 배열 방법 사용:분할/결합
- 대체 방법 사용
루프 사용
for 루프를 사용할 때 루프 전에 새 문자열 변수를 선언해야 계속해서 추가할 수 있습니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <style> body { font-family: 'Roboto', Courier, monospace } </style> <script> const handleSubmit = str => { //loop let newStr = ""; for(let i = 0; i < str.length; i++) { if(str[i] !== " ") { newStr += str[i]; } } document.getElementById("demo").innerHTML = newStr; } </script> </head> <body> <h1>Whitespace Filter</h1> <input id="demoString" value="" type="text" name="inputString" placeholder="I'm a string"/> <input type="submit" onclick="handleSubmit(demoString.value)"/> <div id="demo"></div> </body> </html>
루프는 공백 문자인지 확인하기 위해 각 개별 문자를 살펴봅니다. 그렇지 않은 경우 newStr 변수에 추가합니다. 여기에서 목적을 달성하기 위해 문서 개체 모델(DOM)에 삽입하여 화면에서 볼 수 있도록 합니다. 코드의 다른 곳에서 사용해야 하는 경우 newStr 변수를 반환합니다.
배열 방법 사용:분할/필터/결합 방법
위에서 설명한 루프 방법과 밀접한 관련이 있는 split/filter 방법은 문자열을 가져와 배열로 분할한 다음 공백을 제거하는 ES6 방법 필터를 사용합니다. 방법은 다음과 같습니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <style> body { font-family: 'Roboto', Courier, monospace } </style> <script> const handleSubmit = str => { //split/Filter const splitted = str.split(''); const filtered = splitted.filter(char => { return char !== " "; }) let newStr = filtered.join(''); document.getElementById("demo").innerHTML = newStr; } </script> </head> <body> <h1>Whitespace Filter</h1> <input id="demoString" value="" type="text" name="inputString" placeholder="I'm a string"/> <input type="submit" onclick="handleSubmit(demoString.value)"/> <div id="demo"></div> </body> </html>
배열 방법 사용:분할/결합
이전 섹션에서는 분할, 필터 및 결합을 사용하여 문자열에서 공백을 제거했습니다. 실제로 배열 방법을 사용하는 경우 분할 및 결합 방법만 사용하면 됩니다. 공간을 분할한 다음 각 캐릭터에 합류하기만 하면 됩니다!
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <style> body { font-family: 'Roboto', Courier, monospace } </style> <script> const handleSubmit = str => { //split/join const splitted = str.split(' '); let newStr = splitted.join(''); document.getElementById("demo").innerHTML = newStr; } </script> </head> <body> <h1>Whitespace Filter</h1> <input id="demoString" value="" type="text" name="inputString" placeholder="I'm a string"/> <input type="submit" onclick="handleSubmit(demoString.value)"/> <div id="demo"></div> </body> </html>
얼마나 흥미로운 작은 지름길입니까! 원하는 문자를 분할하여 문자열에서 해당 문자를 완전히 잘라낸 다음 개별 문자에서 배열을 다시 결합하여 문자열을 얻을 수 있습니다.
대체 방법 사용:
replace 메서드는 RegEx를 사용하여 문자열의 모든 공백을 필터링할 때 사용하는 것이 좋습니다. replace는 정의에 따라 찾고 있는 것의 첫 번째 인스턴스를 대체하기 때문에 여기에서 RegEx를 사용해야 합니다. 문자열에 공백이 여러 개 있는 경우 공백을 식별하기 위해 정규식을 사용하지 않는 한 replace 메서드는 첫 번째 공백만 제거합니다.
정규식 끝에 있는 전역 플래그를 사용하면 둘 이상의 인스턴스를 검색하고 바꿀 수 있습니다.
참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.
부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <style> body { font-family: 'Roboto', Courier, monospace } </style> <script> const handleSubmit = str => { let regex = /\s+/g let newStr = str.replace(" ", ""); document.getElementById("demo").innerHTML = newStr; } </script> </head> <body> <h1>Whitespace Filter</h1> <input id="demoString" value="" type="text" name="inputString" placeholder="I'm a string"/> <input type="submit" onclick="handleSubmit(demoString.value)"/> <div id="demo"></div> </body> </html>
\s는 공백 문자이고 +는 행에 그룹화된 하나 이상의 공백 문자를 찾고 있음을 나타냅니다. 식 끝에 있는 g는 미리 알림으로써 공백 문자의 여러 다른 그룹을 찾고 있음을 나타냅니다.
결론
이 기사에서 우리는 JavaScript에 저장되어 있는 공백을 제거하는 4가지 방법을 다뤘습니다. 루프, 필터 방법, 분할/결합 방법 및 정규식을 사용했습니다. JavaScript에서 이러한 기본 작업을 수행하는 방법을 배우면 여정을 진행하면서 JavaScript에서 훨씬 더 복잡한 문제를 해결하는 데 필요한 도구를 얻을 수 있습니다!