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