我正在嘗試將下面的字串拆分為僅包含字母和/或撇號(')的單詞。但是,它回傳一個空字串作為陣列中的第一個元素。為什么我的正則運算式回傳那個空字串?
pry(main)> " //wont won't won't".split(/[^a-z'] /i)
=> ["", "wont", "won't", "won't"]
為什么我的正則運算式回傳那個空字串?
uj5u.com熱心網友回復:
您正在嘗試split(或者如果您愿意的話在您的字串中放置一個中斷)與您的模式不匹配的任何內容,對嗎?字串中的第一件事導致拆分(或中斷),這反過來導致第一個元素為空。
有多種方法可以處理這樣的空陣列元素,但我建議您考慮使用scan而不是split. 使用這種方法,您實際上是在做更合乎邏輯的事情。您正在尋找匹配項并將其發送到您的陣列(而不是尋找不匹配項并將原始字串拆分):
" //wont won't won't".scan(/[a-z'] /i) #=> ["wont", "won't", "won't"]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/507563.html
上一篇:Watir-抓取專案網格
