π™ΉπšŠπšŸπšœπš‚πšŒπš›πš’πš™πš

JavaScriptμ—μ„œ μ •κ·œν‘œν˜„μ‹μ„ μ‚¬μš©ν•΄ 숫자만 μΆ”μΆœν•˜λŠ” 방법

ν•΄λ²„λ‹ˆ 2024. 10. 28. 10:56
λ°˜μ‘ν˜•

JavaScriptμ—μ„œ λ¬Έμžμ—΄ 처리 μž‘μ—…μ„ ν•˜λ‹€ 보면, νŠΉμ • νŒ¨ν„΄μ„ μΆ”μΆœν•΄μ•Ό ν•  λ•Œκ°€ μžˆλ‹€.

κ·Έμ€‘μ—μ„œλ„ λ¬Έμžμ—΄μ—μ„œ 숫자만 μΆ”μΆœν•΄μ•Ό ν•˜λŠ” 상황이 μ‘΄μž¬ν•œλ‹€.

μ΄λ•Œ μ •κ·œν‘œν˜„μ‹(Regular Expression)을 μ‚¬μš©ν•˜λ©΄ κ°„νŽΈν•˜κ²Œ μ›ν•˜λŠ” 숫자 데이터λ₯Ό 얻을 수 μžˆλ‹€.

이번 κΈ€μ—μ„œλŠ” μ •κ·œν‘œν˜„μ‹μ„ μ΄μš©ν•΄ 숫자λ₯Ό μΆ”μΆœν•˜λŠ” 방법을 λ‹¨κ³„λ³„λ‘œ μ•Œμ•„λ³΄λ €κ³  ν•œλ‹€.

 

 

 

 

1. 숫자 μΆ”μΆœμ„ μœ„ν•œ κΈ°λ³Έ μ •κ·œν‘œν˜„μ‹

숫자λ₯Ό μΆ”μΆœν•˜κΈ° μœ„ν•΄ κ°€μž₯ 기본적으둜 μ‚¬μš©λ˜λŠ” μ •κ·œν‘œν˜„μ‹ νŒ¨ν„΄μ€ \\d이닀.

  • \\d: 숫자λ₯Ό μ˜λ―Έν•˜λ©°, 0λΆ€ν„° 9κΉŒμ§€μ˜ 숫자 ν•˜λ‚˜λ₯Ό λ§€μΉ­ν•œλ‹€.
  • +: 직전 νŒ¨ν„΄μ΄ ν•œ 번 이상 λ°˜λ³΅λ˜λŠ” 것을 λ§€μΉ­ν•œλ‹€. 즉, μ—°μ†λœ μˆ«μžλ“€μ„ μΆ”μΆœν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•œλ‹€.

이 νŒ¨ν„΄μ„ JavaScriptμ—μ„œ ν™œμš©ν•˜λŠ” 방법은 λ‹€μŒκ³Ό κ°™λ‹€:

let varStr = "str1";
let result = varStr.match(/\\d+/g);
console.log(result); // ["1"]
  • /\\d+/g:
    • \\d+λŠ” μˆ«μžκ°€ ν•œ 개 이상 λ‚˜μ˜€λŠ” 뢀뢄을 μ°Ύκ³ ,
    • g ν”Œλž˜κ·ΈλŠ” λ¬Έμžμ—΄ μ „μ²΄μ—μ„œ νŒ¨ν„΄μ„ μ „μ—­μ μœΌλ‘œ κ²€μƒ‰ν•˜μ—¬ λͺ¨λ“  맀칭된 숫자λ₯Ό λ°°μ—΄λ‘œ λ°˜ν™˜ν•œλ‹€.

 

 

 

2. μ •κ·œν‘œν˜„μ‹μ˜ μ£Όμš” ꡬ성 μš”μ†Œ

  • \\d: 0λΆ€ν„° 9κΉŒμ§€μ˜ 숫자λ₯Ό λ§€μΉ­ν•œλ‹€.
  • +: μ—°μ†λœ μˆ«μžλ“€μ„ μ°ΎκΈ° μœ„ν•΄ μ‚¬μš©ν•œλ‹€. 예λ₯Ό λ“€μ–΄, "abc123"μ—μ„œ \\d+λŠ” "123"을 λ§€μΉ­ν•œλ‹€.
  • g: μ „μ—­ 검색을 μ˜λ―Έν•˜λ©°, 첫 번째 맀칭 후에도 κ³„μ†ν•΄μ„œ λ¬Έμžμ—΄ 전체λ₯Ό κ²€μƒ‰ν•œλ‹€.

 

 

 

3. λ³΅μž‘ν•œ λ¬Έμžμ—΄μ—μ„œμ˜ 숫자 μΆ”μΆœ μ˜ˆμ‹œ

μ—¬λŸ¬ μˆ«μžκ°€ ν¬ν•¨λœ λ³΅μž‘ν•œ λ¬Έμžμ—΄μ—μ„œ λͺ¨λ“  숫자λ₯Ό μΆ”μΆœν•  μˆ˜λ„ μžˆλ‹€:

let text = "Price is 200 dollars, and 15% discount applies";
let numbers = text.match(/\\d+/g);
console.log(numbers); // ["200", "15"]

μœ„ μ˜ˆμ œμ—μ„œλŠ” "200"κ³Ό "15"λΌλŠ” μˆ«μžλ“€μ„ μΆ”μΆœν•œλ‹€.

 

 

 

 

4. μΆ”μΆœλœ 숫자의 ν˜• λ³€ν™˜

μ •κ·œν‘œν˜„μ‹μœΌλ‘œ μΆ”μΆœλœ 값은 λ¬Έμžμ—΄λ‘œ λ°˜ν™˜λ˜κΈ° λ•Œλ¬Έμ—, 이λ₯Ό μˆ«μžν˜•μœΌλ‘œ λ³€ν™˜ν•˜λ €λ©΄ parseInt() λ˜λŠ” parseFloat()을 μ‚¬μš©ν•  수 μžˆλ‹€:

let numberStr = "123";
let number = parseInt(numberStr);
console.log(number); // 123 (μˆ«μžν˜•)

 

 

 

 


 

 

JavaScriptμ—μ„œ μ •κ·œν‘œν˜„μ‹μ„ μ‚¬μš©ν•˜λ©΄ λ¬Έμžμ—΄μ—μ„œ κ°„νŽΈν•˜κ²Œ μˆ«μžλ§Œμ„ μΆ”μΆœν•  수 μžˆλ‹€.

\\d+ νŒ¨ν„΄κ³Ό μ „μ—­ 검색 ν”Œλž˜κ·Έ(g)λ₯Ό ν•¨κ»˜ μ‚¬μš©ν•˜μ—¬ μ›ν•˜λŠ” 숫자 νŒ¨ν„΄μ„ μ‰½κ²Œ μ°Ύμ•„λ‚Ό 수 있으며, μΆ”μΆœν•œ 값은 ν•„μš”μ— 따라 μˆ«μžν˜•μœΌλ‘œ λ³€ν™˜ν•˜μ—¬ ν™œμš©ν•  수 μžˆλ‹€.

μ •κ·œν‘œν˜„μ‹μ€ λ¬Έμžμ—΄ μ²˜λ¦¬μ—μ„œ 맀우 μœ μš©ν•œ λ„κ΅¬μ΄λ―€λ‘œ, λ‹€μ–‘ν•œ νŒ¨ν„΄μ— 맞좰 ν™œμš©ν•  수 μžˆλ‹€.

 

 

 

 

 

λ°˜μ‘ν˜•