亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript - 為什么使用 RegEx 拆分會產生空白數組?

JavaScript - 為什么使用 RegEx 拆分會產生空白數組?

慕桂英3389331 2022-12-02 16:18:09
我正在處理 RegEx 問題,但剛遇到一些意外行為。如果我將單詞“Hello”拆分為單詞 cherters ( \w),我會得到一個空字符串數組:"Hello".split(/\w/)Array(6) [ "", "", "", "", "", "" ]我希望你好。為什么會這樣?我可以使用什么 RegEx 來創建所需的結果?編輯我想使用 RegEx 的全部原因是因為我有一個包含表情符號的字符串,Hello ??例如,我想拆分字符串但保持表情符號 (Unicode) 完整。我應該先解釋一下。謝謝大家的幫助,在我意識到兩者之間的區別之后,我match也split沒有花很長時間來解決表情符號問題:"Hello ??".match(/(\w)|([^\u0000-\u007F]+)/g)Array(6) [ "H", "e", "l", "l", "o", "??" ]
查看完整描述

4 回答

?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

您混淆split了(匹配定界符)和match(匹配內容)。與split您識別實際內容的區別是什么,因此匹配項本身將被排除在外。隨著match你得到你真正想要的東西。請注意,match您需要使用g修飾符明確說明您想要所有這些:


let arr = "Hello".match(/\w/g); // You need the g[lobal] modifier

console.log(arr); // ["H","e","l","l","o"]


查看完整回答
反對 回復 2022-12-02
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

你不需要正則表達式,你可以拆分一個空字符串來獲取字符:


var result = "Hello".split("")


console.log(result)


查看完整回答
反對 回復 2022-12-02
?
MYYA

TA貢獻1868條經驗 獲得超4個贊

這正是你所做的。查找拆分的值是一個單詞字符,您可以準確地得到所有字符之間的空格。


console.log("Hello".split(/\w/));


得到你想要的要么使用match


console.log("Hello".match(/\w/g));

console.log("Hello world!".match(/\w/g));


或由空字符串之間的空格分隔。


console.log("Hello".split(''));


查看完整回答
反對 回復 2022-12-02
?
弒天下

TA貢獻1818條經驗 獲得超8個贊

你得到一個空數組的原因是因為它的split()第一個參數搜索一個模式并且在這種情況下模式是一個字符并且拆分是將單詞Hello除以每個字符,這就是為什么你得到空字符串來實現你想要使用的分裂(””)


var res = "Hello".split("")

console.log(res)


查看完整回答
反對 回復 2022-12-02
  • 4 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號