
Elm - 字串
Unicode 字元序列稱為字串。在 Elm 中,字串用 "" 雙引號 括起來。字串是一塊文字,如下所示。
> "TutorialsPoint" "TutorialsPoint" : String > location = "Hyderabad" --variable "Hyderabad" : String > location "Hyderabad" : String >
字串函式
下面給出了一些可用於查詢或操作字串值的常用函式。使用 REPL 嘗試以下示例。
序號 | 方法 | 描述 |
---|---|---|
1 | isEmpty : String -> Bool | 檢查字串是否為空 |
2 | reverse : String -> String | 反轉輸入字串 |
3 | length : String -> Int | 返回整數長度 |
4 | append :String -> String -> String | 追加兩個字串並返回一個新字串 |
5 | append :String -> Sconcat : List String -> String | 追加字串列表並返回一個新字串 |
6 | split : String -> String -> List String | 使用給定的分隔符分割輸入字串,返回一個字串列表 |
7 | slice : Int -> Int -> String -> String | 給定開始、結束索引和輸入字串,返回子字串 |
8 | contains : String -> String -> Bool | 如果第二個字串包含第一個字串,則返回 true |
9 | toInt : String -> Result.Result String Int | 將字串解析為整數 |
10 | toInt : String -> Result.Result String Int | 將字串解析為整數 |
11 | toFloat : String -> Result.Result String Float | 將字串解析為浮點數 |
12 | fromChar : Char -> String | 根據給定的字元建立字串。 |
13 | toList : String -> List Char | 將字串轉換為字元列表 |
14 | fromList : List Char -> String | 將字元列表轉換為字串 |
15 | toUpper : String -> String | 將輸入字串轉換為大寫 |
16 | trim : String -> String | 去除字串兩側的空格。 |
17 | filter : (Char -> Bool) -> String -> String | 從輸入字串中過濾字元集 |
18 | map : (Char -> Char) -> String -> String | 轉換輸入字串中的每個字元 |
isEmpty
此函式可用於確定字串是否為空。如果提供的字串為空,則此函式返回 True。
語法
String.isEmpty String_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.isEmpty <function> : String -> Bool
函式的簽名顯示 Bool 作為返回型別,輸入型別為 String:
示例
> String.isEmpty "" True : Bool > String.isEmpty "Tutorialspoint" False : Bool > location = "Hyderabad" "Hyderabad" : String > String.isEmpty location False : Bool
reverse
此函式反轉字串。
語法
String.reverse String_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.reverse <function> : String -> String
函式的簽名顯示 String 作為返回型別,輸入型別為 String:
示例
> String.reverse "TutorialsPoint" "tnioPslairotuT" : String
length
此函式返回字串的長度。
語法
String.length String_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.length <function-> : String -> Int
函式的簽名顯示 Int 作為返回型別,輸入型別為 String。
示例
> String.length "Mohtashim" 9 : Int
append
此函式透過追加兩個字串返回一個新字串。
語法
String.append String_value1 String_value2
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.append <function-> : String -> String -> String
簽名的顯示有兩個 String 輸入引數和一個 String 輸出引數
示例
> String.append "Tutorials" "Point" TutorialsPoint : String
concat
此函式透過將多個字串連線成一個返回一個新字串。
語法
String.concat [String1,String2,String3]
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.concat <function> : List String -> String
簽名的顯示一個 String 輸入引數列表和 String 返回型別
示例
> String.concat ["Hello","Tutorials","Point"] HelloTutorialsPoint : String
split
此函式使用給定的分隔符分割字串。
語法
String.split string_seperator String_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.split <function> : String -> String -> List String
簽名的顯示兩個輸入 String 引數,輸出為字串型別列表。
示例
> String.split "," "Hello,Tutorials,Point" ["Hello","Tutorials","Point"] : List String
slice
此函式給定開始和結束索引返回子字串。負索引從列表末尾開始取。索引值從零開始。
語法
String.slice start_index end_index String_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.slice <function> : Int -> Int -> String -> String
簽名的顯示三個輸入引數和一個返回型別。
示例
> String.slice 0 13 "TutorialsPoint" "TutorialsPoin" : String
contains
如果第二個字串包含第一個字串,則此函式返回 True。
語法
String.contains string1 string2
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.contains <function> : String -> String -> Bool
簽名的顯示 bool 返回型別和兩個輸入引數
示例
> String.contains "Point" "TutorialsPoint" True : Bool
toInt
此函式將字串轉換為 int。
語法
String.toInt string_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.toInt <function> : String -> Result.Result String Int
由於 toInt 可能返回錯誤,因此返回型別為 Result,即 String 或 Int。
示例
> String.toInt "20" Ok 20 : Result.Result String Int > String.toInt "abc" Err "could not convert string 'abc' to an Int" : Result.Result String Int
toFloat
此函式將字串轉換為 float。
語法
String.toFloat string_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.toFloat <function> : String -> Result.Result String Float
由於 toFloat 可能返回錯誤,因此返回型別為 Result,即 String 或 Float。
示例
> String.toFloat "20.50" Ok 20.5 : Result.Result String Float > String.toFloat "abc" Err "could not convert string 'abc' to a Float" : Result.Result String Float
fromChar
此函式根據給定的字元建立字串。
語法
String.fromChar character_value
要在 elm REPL 中檢查函式的簽名型別,請執行以下操作:
> String.fromChar <function> : Char -> String
簽名顯示 String 作為返回型別,輸入為 Char 型別
示例
> String.fromChar 'c' "c" : String
toList
此函式將字串轉換為字元列表。
語法
String.toList string_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.toList <function> : String -> List Char
簽名顯示函式返回字元列表,並接收字串作為輸入。
示例
> String.toList "tutorialspoint" ['t','u','t','o','r','i','a','l','s','p','o','i','n','t'] : List Char
fromList
此函式將字元列表轉換為字串。
語法
String.fromList list_of_characters
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.fromList <function> : List Char -> String
簽名顯示函式返回字元列表,並接收字串作為輸入。
示例
> String.fromList ['h','e','l','l','o'] "hello" : String
toUpper
此函式將字串轉換為全部大寫。
語法
String.toUpper String_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.toUpper <function> : String -> String
示例
> String.toUpper "hello" "HELLO" : String
toLower
此函式將字串轉換為全部小寫。
語法
String.toLower String_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.toLower <function> : String -> String
示例
> String.toLower "AbCd" "abcd" : String
trim
此函式去除字串兩側的空格。
語法
String.trim String_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.trim <function> : String -> String
示例
> String.trim "tutorialspoint " "tutorialspoint" : String
filter
此函式從輸入字串中過濾一組字元。僅保留透過測試的字元。
語法
String.filter test_function string_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.filter <function> : (Char -> Bool) -> String -> String
簽名顯示 filter 接收兩個輸入引數並返回一個字串。第一個引數是一個函式,它接收 Char 作為輸入並返回 Bool。
示例
在示例中,我們將 Char.isUpper 作為引數傳遞給 filter 方法;它返回所有大寫字元,如下所示。
> import Char > String.filter Char.isUpper "abcDEF" "DEF" : String
map
此函式接收一個字串並轉換字串中的每個字元。
語法
String.filter mapping_function string_value
要在 elm REPL 中檢查函式的簽名,請鍵入以下內容:
> String.map <function> : (Char -> Char) -> String -> String
示例
以下示例將字元 o 替換為 @:
> String.map (\c -> if c == 'o' then '@' else c) "TutorialsPoint" "Tut@rialsP@int" : String