📅  最后修改于: 2020-11-04 08:59:36             🧑  作者: Mango
Unicode字符序列称为字符串。在Elm中,字符串用“”双引号引起来。字符串是一段文本,如下所示。
> "TutorialsPoint"
"TutorialsPoint" : String
> location = "Hyderabad" --variable
"Hyderabad" : String
> location
"Hyderabad" : String
>
下面给出了一些可用于查询或操作字符串值的常用函数。使用REPL尝试下面给出的示例。
Sr. No | Method | Description |
---|---|---|
1 | isEmpty : String -> Bool | checks string is empty |
2 | reverse : String -> String | reverses a input string |
3 | length : String -> Int | returns an integer length |
4 | append :String -> String -> String | appends two string and returns a new string |
5 | append :String -> Sconcat : List String -> String | appends a list of strings and returns a new string |
6 | split : String -> String -> List String | splits an input string using a given separator, returns a string list |
7 | slice : Int -> Int -> String -> String | returns a substring given a start , end index and input string |
8 | contains : String -> String -> Bool | returns true if second string contains the first one |
9 | toInt : String -> Result.Result String Int | parses a String to Integer |
10 | toInt : String -> Result.Result String Int | parses a String to Integer |
11 | toFloat : String -> Result.Result String Float | parses a String to float |
12 | fromChar : Char -> String | creates a string from a given character. |
13 | toList : String -> List Char | converts string to list of characters |
14 | fromList : List Char -> String | converts a list of characters into a String |
15 | toUpper : String -> String | converts input string to upper case |
16 | trim : String -> String | gets rid of whitespace on both sides of a string. |
17 | filter : (Char -> Bool) -> String -> String | filters set of characters from input string |
18 | map : (Char -> Char) -> String -> String | transforms every character in an input string |
此函数可用于确定字符串是否为空。如果提供的字符串为空,则此函数返回True。
String.isEmpty String_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.isEmpty
: String -> Bool
该函数的签名显示Bool为返回类型,输入类型为String-
> String.isEmpty ""
True : Bool
> String.isEmpty "Tutorialspoint"
False : Bool
> location = "Hyderabad"
"Hyderabad" : String
> String.isEmpty location
False : Bool
此函数反转一个字符串。
String.reverse String_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.reverse
: String -> String
该函数的签名显示String为返回类型,输入类型为String-
> String.reverse "TutorialsPoint"
"tnioPslairotuT" : String
此函数返回字符串的长度。
String.length String_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.length
: String -> Int
该函数的签名将Int显示为返回类型,将输入类型显示为String。
> String.length "Mohtashim"
9 : Int
该函数通过追加两个字符串返回新字符串。
String.append String_value1 String_value2
要检查函数的签名,请在elm REPL中键入以下内容:
> String.append
: String -> String -> String
显示的签名显示两个String输入参数和一个String输出参数
> String.append "Tutorials" "Point"
TutorialsPoint : String
该函数通过将多个字符串连接成一个字符串来返回一个新字符串。
String.concat [String1,String2,String3]
要检查函数的签名,请在elm REPL中键入以下内容:
> String.concat
: List String -> String
的签名显示了String输入参数和String返回类型的列表
> String.concat ["Hello","Tutorials","Point"]
HelloTutorialsPoint : String
此函数使用给定的分隔符分割字符串。
String.split string_seperator String_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.split
: String -> String -> List String
的签名显示了两个输入String参数,并以字符串类型列表形式输出。
> String.split "," "Hello,Tutorials,Point"
["Hello","Tutorials","Point"] : List String
该函数返回给定开始索引和结束索引的子字符串。负索引从列表的末尾开始。索引的值从零开始。
String.slice start_index end_index String_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.slice
: Int -> Int -> String -> String
的签名显示三个输入参数和一个返回类型。
> String.slice 0 13 "TutorialsPoint"
"TutorialsPoin" : String
如果第二个字符串包含第一个字符串,则此函数返回True。
String.contains string1 string2
要检查函数的签名,请在elm REPL中键入以下内容:
> String.contains
: String -> String -> Bool
显示布尔返回类型和两个输入参数的签名
> String.contains "Point" "TutorialsPoint"
True : Bool
此函数将字符串转换为int。
String.toInt string_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.toInt
: 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
此函数将字符串转换为浮点数。
String.toFloat string_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.toFloat
: 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
此函数根据给定字符创建字符串。
String.fromChar character_value
要检查函数类型的签名,请参见elm REPL-
> String.fromChar
: Char -> String
签名显示String为返回类型,输入为Char类型
> String.fromChar 'c'
"c" : String
该函数将字符串转换为字符的列表。
String.toList string_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.toList
: String -> List Char
签名show函数返回一个字符列表并输入一个字符串。
> String.toList "tutorialspoint"
['t','u','t','o','r','i','a','l','s','p','o','i','n','t'] : List Char
此函数将字符列表转换为字符串。
String.fromList list_of_characters
要检查函数的签名,请在elm REPL中键入以下内容:
> String.fromList
: List Char -> String
签名show函数返回一个字符列表并输入一个字符串。
> String.fromList ['h','e','l','l','o']
"hello" : String
此函数将字符串转换为全部大写。
String.toUpper String_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.toUpper
: String -> String
> String.toUpper "hello"
"HELLO" : String
此函数将字符串转换为所有小写字母。
String.toLower String_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.toLower
: String -> String
> String.toLower "AbCd"
"abcd" : String
该函数消除了字符串两侧的空白。
String.trim String_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.trim
: String -> String
> String.trim "tutorialspoint "
"tutorialspoint" : String
此函数从输入String中过滤出一组字符。仅保留通过测试的字符。
String.filter test_function string_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.filter
: (Char -> Bool) -> String -> String
签名显示过滤器接受两个输入参数并返回一个String。第一个参数是一个函数,该函数具有输入Char并返回Bool。
在示例中,我们将Char.isUpper作为参数传递给filter方法;它返回所有大写字符,如下所示。
> import Char
> String.filter Char.isUpper "abcDEF"
"DEF" : String
此函数采用String并转换字符串的每个字符。
String.filter mapping_function string_value
要检查函数的签名,请在elm REPL中键入以下内容:
> String.map
: (Char -> Char) -> String -> String
以下示例将字符o替换为@-
> String.map (\c -> if c == 'o' then '@' else c) "TutorialsPoint"
"Tut@rialsP@int" : String