推 fumizuki:我想Split()應該只是依照第2個參數給的字切割成陣列而已 01/07 07:26
→ fumizuki:vb js c# 都沒聽說過split是regex 0.0 01/07 07:27
→ fumizuki:本以為Filter()可以處理,不過測試的結果 空字串不能移除 01/07 07:28
→ fumizuki:想要用Filter()移除陣列中空的元素,會傳回空陣列Or2 01/07 07:30
→ fumizuki:不用vba,excel的資料剖析功能可以輕鬆做到 01/07 07:32
推 Y78:Dim a As Variant 01/07 22:21
→ Y78:a = Split("1.157 1255.2") 01/07 22:21
→ Y78:ubound(a) = 1 , a(0)=1.157 a(1)=1255.2 01/07 22:21
→ Y78:不是就這樣分而已嗎? 我沒試過vba不清楚 01/07 22:22
→ Y78:Split第一個引數是字串 然後第二個引數是要分隔的字串 01/07 22:22
→ Y78:第二個預設值是" " 就是以空白來分 然後會回傳一個陣列 01/07 22:23
→ MOONRAKER:你兩個數字中間隔超過一個以上的空白試試看 01/08 10:30
→ MOONRAKER:基本上以上討論的是這個問題 你才一個空白那隨便也會對 01/08 10:30
推 Y78:如果空白數固定的話 把split第二個引數改掉就好了 01/08 22:14
→ Y78:如果不是 那我會這樣寫 01/08 22:14
推 Y78:str = "1.157 1255.2" 01/08 22:21
→ Y78:x = Len(str) 01/08 22:22
→ Y78:a = Split(str) 01/08 22:22
→ Y78:str = Replace(str, " ", "") 01/08 22:22
→ Y78:a(0) & a(x - Len(str)) 就是你要的了 01/08 22:22
→ Y78:但是用Replace會把原字串取代 不想的話 可以這樣 01/08 22:23
→ Y78:把後面那個改成 a(x - Len(Replace(str, " ", ""))) 01/08 22:23
→ MOONRAKER:這也只有兩個才有效。 01/08 23:21
→ MOONRAKER:限制條件太多的解,實在是一點意義也沒有 01/08 23:21
→ MOONRAKER:試問你如何處理 k1 s1 k2 s2 ... k(n-1) s(n-1) kn 01/08 23:22
→ MOONRAKER:n 不確定,k(i)為單字,s(i)為空白,全都不等長 01/08 23:23
→ MOONRAKER:這你要怎麼處理?不巧real world中這種input滿地都是 01/08 23:24
→ MOONRAKER:隨便找一篇空白不齊的英文文章就是了 01/08 23:24
推 Y78:如果很多的話 就照你那招吧 我上面的解法純粹是針對只有2個的 01/08 23:26
推 Y78:突然想到 其實不用那麼麻煩 第二個只要 a(ubound(a))就好了 01/09 22:26