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
廣告