跳轉到內容

Rebol 程式設計/語言特性/解析/簡單拆分

來自華夏公益教科書,開放的書籍,開放的世界

字串解析涉及簡單拆分

parse "this is a string" none
; == ["this" "is" "a" "string"]

透過提供 NONE 作為 PARSE 規則,我們要求 PARSE 基於空格將字串拆分為字串塊

whitespace: charset [#"^A" - #" " "^(7F)^(A0)"]

和公共分隔符

common-delimiter: charset ",;"

為了便於 CSV 拆分,引號將被特殊處理(參見 CSV 示例)。

空字串

[編輯 | 編輯原始碼]
parse "" none
; == []

輸入字串中沒有分隔符

[編輯 | 編輯原始碼]
parse "redbluegreen" none
; == ["redbluegreen"]
parse "red blue green" none
; == ["red" "blue" "green"]
parse "red,blue,green" none
; == ["red" "blue" "green"]

製表符

[編輯 | 編輯原始碼]
parse "red^-blue^-green" none
; == ["red" "blue" "green"]
parse "red;blue;green" none
; == ["red" "blue" "green"]

換行符

[編輯 | 編輯原始碼]
string: {
red
blue  
green
}
parse string none
; == ["red" "blue" "green"]

忽略前導和尾隨空格

[編輯 | 編輯原始碼]
parse " 1 " none
; == ["1"]

空格序列等同於一個空格

[編輯 | 編輯原始碼]
parse "1  2" none
; == ["1" "2"]

前導公共分隔符會分隔一個空子字串

[編輯 | 編輯原始碼]
parse ",1" none
; == ["" "1"]

忽略一個尾隨公共分隔符

[編輯 | 編輯原始碼]
parse "1," none
; == ["1"]

公共分隔符序列在它們之間分隔空子字串

[編輯 | 編輯原始碼]
parse "1,,2" none
; == ["1" "" "2"]
parse {"red","blue","green"} none
; == ["red" "blue" "green"]
華夏公益教科書