string.split
Last updated
Was this helpful?
Last updated
Was this helpful?
split()
λ©μλλ λ¬Έμμ΄μ μ λ ¬λ νμ λ¬Έμμ΄ μ§ν©μΌλ‘ λλκ³ μ΄λ¬ν νμ λ¬Έμμ΄μ λ°°μ΄λ‘ λ£μ λ€μ λ°°μ΄μ λ°ννλ€. λΆν μ ν¨ν΄μ κ²μνμ¬ μννλ€. μ¬κΈ°μ ν¨ν΄μ λ©μλμ νΈμΆμμ 첫λ²μ§Έ λ§€κ°λ³μλ‘ μ 곡λλ€.
separator (Optional)
κ° λΆν μ΄ λ°μνλ μμΉλ₯Ό λνλ΄λ ν¨ν΄μ΄λ€. separator
λ λ¨μν λ¬Έμμ΄μ΄ λ μ μκ³ μ κ·ννμμ΄ λ μ μλ€.
κ°μ₯ κ°λ¨ν κ²½μ°λ separator
κ° λ¨μΌ λ¬ΈμμΌ λ μ΄λ€. ꡬλΆλ λ¬Έμμ΄μ λΆν νλλ° μ¬μ©λλ€. μλ₯Ό λ€μ΄ ν κ΅¬λΆ κ° (TSV)μ ν¬ν¨νλ λ¬Έμμ΄μ λ€μκ³Ό κ°μ΄ ν λ¬Έμλ₯Ό κ΅¬λΆ κΈ°νΈλ‘ μ λ¬νμ¬ κ΅¬λ¬Έμ λΆμν μ μλ€. myString.split("\t")
separator
κ° λκΈμ μ΄μμΌ κ²½μ°, λΆν νλ €λ©΄ ν΄λΉ μ 체 λ¬Έμμ μΌμΉνμ¬μΌ νλ€.
separator
κ° μλ΅λκ±°λ strμμ μλ λ¬Έμμ΄μΌ κ²½μ°, μ 체 λ¬Έμμ΄λ‘ ꡬμ±λ νλμ μμλ§μ΄ μλ λ°°μ΄μ λ°ννλ€.
separator
κ° λ¬Έμμ΄μ μμμ΄λ λμ§μ μΌλ‘ λνλλ μ¬μ ν λΆν μ ν¨κ³Όκ° μλ€. κ²°κ³Όλ λ°νλ λ°°μ΄μ 첫λ²μ§Έ μμΉ(νΉμ λ§μ§λ§)μλ λΉ λ¬Έμμ΄μ΄λ€.
separator
κ° λΉ λ¬Έμμ΄μΈ κ²½μ°, strμ κ°κ°μ UTF-16 λ¬Έμμ λ°°μ΄λ‘ λ³νλλ€.
μ£Όμ: separatorκ° λΉ λ¬Έμμ΄("")λ‘ μ 곡λλ©΄, μ¬μ©μκ° μΈμνλ λ¬Έμ νλ(grapheme cluster)λλ μ λμ½λ λ¬Έμ(μ½λν¬μΈνΈ) νλμ©μΌλ‘ λλλ κ²μ΄ μλλΌ, UTF-16 μ½λ μ λμΌλ‘ λλκ² λλ©° surrogate pairκ° λ§κ°μ§ μ μλ€. μ€ν μ€λ²νλ‘μ°μ λ₯Ό μ°Έκ³ νμ.
UTF-16 μ½λ μ λμ΄ μλ μ λμ½λ λ¬Έμ(μ½λν¬μΈνΈ) νλμ© λλλ surrogate pairκ° λ§κ°μ§μ§ μκ³ λΆν νλ λ°©λ²
Spread syntax μ¬μ©
Array.form
string.prototype.split() μ RegExp u flag μ¬μ©νκΈ°
limit (Optional)
μμ΄ μλ μ μλ‘ λλ μλ₯Ό μ ννλ€. μ΄ λ§€κ°λ³μκ° μ 곡λλ©΄ separator
κ° λ±μ₯ν λλ§λ€ λ¬Έμμ΄μ λμ§λ§ λ°°μ΄μ μμκ° limit
κ°κ° λλ©΄ λ©μΆλ€. λ¨μ ν
μ€νΈλ λ°°μ΄μ ν¬ν¨λμ§ μλλ€.
limit
μ λλ¬νκΈ° μ μ λ¬Έμμ΄ λμ λλ¬νλ©΄ λ°°μ΄μλ μ νλ³΄λ€ μ μ λ―Έλ§μ μμκ° μμ μλ μλ€.
λ§μ½ limit
λ 1
μ΄λ©΄ [str]
μ΄ λ°νλλ€.
λ§μ½ limit
λ 0
μ΄λ©΄ []
μ΄ λ°νλλ€.
λ¬Έμμ΄μ΄ μμλ‘ μ΄λ£¨μ΄μ§ Array
λ‘, μ£Όμ΄μ§ λ¬Έμμ΄μ΄ spearator
ν¬μΈνΈλ‘ λΆν λ κ²μ΄λ€.
separator
κ° λ°κ²¬λμ λ λ¬Έμμ΄μ μμ λκ³ , λ¨μ λ¬Έμμ΄μ λ°°μ΄λ‘ λ°νλλ€. λ§μ½ separator
κ° ν¬νκ΄νΈ(capturing parentheses)λ₯Ό ν¬ν¨νλ μ κ·μμΌ κ²½μ°, separator
κ° μΌμΉν λ λ§λ€ ν¬ν κ΄νΈμ (μ μλμ§ μμ κ²½μ°λ ν¬ν¨νμ¬) κ²°κ³Όκ° λ°°μ΄μ ν΄λΉ μμΉμ ν¬ν¨λλ€.
separator
κ° λ°°μ΄μΈ κ²½μ°, ν΄λΉ λ°°μ΄μ λ¬Έμμ΄λ‘ κ°μ λ³νλμ΄ sperator
λ‘ μ¬μ©λλ€.
λ¬Έμμ΄μ΄ λΉμμ λ split()
λ νλμ λΉ λ¬Έμμ΄μ ν¬ν¨ν λ°°μ΄μ λ°ννλ€. (λΉ λ°°μ΄μ΄ μλλ€.) λ§μ½ separator
κ³Ό λ¬Έμμ΄μ΄ λ λ€ λΉ λ¬Έμμ΄μ΄λΌλ©΄ λΉ λ°°μ΄μ λ°ννλ€.
λ€μ μμ λ λ¬Έμμ΄μ μ£Όμ΄μ§ separatorλ‘ λλ ν¨μλ₯Ό μ μνλ€. λ¬Έμμ΄μ λμ λ€μμλ (λκΈ° μ΄μ μ) μλ³Έ λ¬Έμμ΄κ³Ό μ¬μ©ν separator, λ°°μ΄μ κΈΈμ΄μ μμλ₯Ό logλ‘ μΆλ ₯νλ€.
log νμΈνκΈ°
λ€μ μμ λ split()
μ 0κ° μ΄μμ 곡백μ μ°Ύκ³ , κ·Έ λ€μμ΄ μΈλ―Έμ½λ‘ μ΄κ³ , κ·Έ λ€μμ΄ 0κ° μ΄μμ 곡백μ μ°Ύμλ΄κ³ , μ°ΎμΌλ©΄ λ¬Έμμ΄μμ 곡백과 μΈλ―Έμ½λ‘ μ μ κ±°νλ€. -> μΈλ―Έμ½λ‘ μ μλ€μ 곡백μ μ°Ύκ³ κ³΅λ°±κ³Ό μΈλ―Έμ½λ‘ μ μ κ±°νλ€.
μ΄ μμ λ split()
μ λ¬Έμμ΄μμ 곡백μ μ°Ύκ³ , λ°κ²¬λ μ΅μ΄μ 3κ°μ λΆν κ²°κ³Όλ₯Ό λ°ννλ€.
separatorκ° μΊ‘μ³λ§ κ΄νΈ()
λ₯Ό ν¬ν¨νλ μ κ·ννμμΌ κ²½μ°, μΊ‘μ³λ§λ κ²°κ³Όλ λ°°μ΄μ ν¬ν¨λλ€.
\d
λ character classμμ 0λΆν° 9μ¬μ΄μ μμ μΌμΉνλ€.
μ΄ λ°©λ²μ λ¬Έμμ΄ λ€μ§κΈ°μ ν¨κ³Όμ μΈ λ°©λ²μ΄ μλλ€.
λ¬Έμμ΄μ grapheme clustersκ° μμ κ²½μ°, μ λμ½λ νλκ·Έλ₯Ό μ€μ ν΄λ μ€λ₯λ₯Ό μΌμΌν΅λλ€.
(esrever λ±μ λΌμ΄λΈλ¬λ¦¬λ₯Ό λμ μ¬μ©νλΌ)
===
λ₯Ό μ¬μ©νλ©΄ palindrome(μμμ λΆν° μ½μΌλ λ€μμ λΆν° μ½μΌλ λμΌν λ¨μ΄)μΈμ§ νμΈν μ μλ€.
u flagλ μ λμ½λ; ν¨ν΄μ μ λμ½λ μ½λ ν¬μΈνΈμ λμ΄λ‘ μ·¨κΈνλ€. /(?=.)/u
λμ μ /(?=[\s\S])/u
λ₯Ό μ¬μ©ν μ΄μ .