Elm-文字列
Unicode文字のシーケンスは文字列と呼ばれます。Elmでは、文字列は ""二重引用符で囲まれています。文字列は、以下に示すようにテキストのチャンクです。
> "TutorialsPoint"
"TutorialsPoint" : String
> location = "Hyderabad" --variable
"Hyderabad" : String
> location
"Hyderabad" : String
>
文字列関数
文字列値のクエリまたは操作に使用できるいくつかの一般的な関数を以下に示します。REPLを使用して、以下の例を試してください。
シニアいいえ | 方法 | 説明 |
---|---|---|
1 | isEmpty:文字列->ブール | 文字列が空であることを確認します |
2 | 逆:文字列->文字列 | 入力文字列を反転します |
3 | 長さ:文字列->整数 | 整数の長さを返します |
4 | 追加:文字列->文字列->文字列 | 2つの文字列を追加し、新しい文字列を返します |
5 | 追加:文字列-> Sconcat:リスト文字列->文字列 | 文字列のリストを追加し、新しい文字列を返します |
6 | 分割:文字列->文字列->リスト文字列 | 指定されたセパレータを使用して入力文字列を分割し、文字列リストを返します |
7 | スライス:Int-> Int-> String-> String | 開始、終了インデックス、および入力文字列を指定して部分文字列を返します |
8 | 含む:文字列->文字列->ブール | 2番目の文字列に最初の文字列が含まれている場合はtrueを返します |
9 | toInt:String-> Result.Result String Int | 文字列を整数に解析します |
10 | toInt:String-> Result.Result String Int | 文字列を整数に解析します |
11 | toFloat:文字列-> Result.Result String Float | 文字列を解析してフロートします |
12 | fromChar:文字->文字列 | 指定された文字から文字列を作成します。 |
13 | toList:文字列->リスト文字 | 文字列を文字のリストに変換します |
14 | fromList:リスト文字->文字列 | 文字のリストを文字列に変換します |
15 | toUpper:文字列->文字列 | 入力文字列を大文字に変換します |
16 | トリム:文字列->文字列 | 文字列の両側の空白を取り除きます。 |
17 | フィルタ:(Char-> Bool)->文字列->文字列 | 入力文字列から文字セットをフィルタリングします |
18 | マップ:(文字->文字)->文字列->文字列 | 入力文字列のすべての文字を変換します |
isEmpty
この関数を使用して、文字列が空かどうかを判別できます。指定された文字列が空の場合、この関数はTrueを返します。
構文
String.isEmpty String_value
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.isEmpty
<function> : String -> Bool
関数のシグネチャは、戻り値の型としてBoolを示し、文字列として入力型を示します-
図
> String.isEmpty ""
True : Bool
> String.isEmpty "Tutorialspoint"
False : Bool
> location = "Hyderabad"
"Hyderabad" : String
> String.isEmpty location
False : Bool
逆行する
この関数は文字列を反転します。
構文
String.reverse String_value
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.reverse
<function> : String -> String
関数のシグネチャは、戻り値の型として文字列を示し、文字列として入力型を示します-
図
> String.reverse "TutorialsPoint"
"tnioPslairotuT" : String
長さ
この関数は、文字列の長さを返します。
構文
String.length String_value
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.length
<function-> : String -> Int
関数のシグネチャは、戻り値の型としてIntを示し、文字列として入力型を示します。
図
> String.length "Mohtashim"
9 : Int
追加
この関数は、2つの文字列を追加して、新しい文字列を返します。
構文
String.append String_value1 String_value2
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.append
<function-> : String -> String -> String
の署名は、2つの文字列入力パラメータと1つの文字列出力パラメータを示しています
図
> String.append "Tutorials" "Point"
TutorialsPoint : String
concat
この関数は、多くの文字列を1つに連結することにより、新しい文字列を返します。
構文
String.concat [String1,String2,String3]
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.concat
<function> : List String -> String
の署名は、文字列入力パラメータと文字列戻り値の型のリストを示しています
図
> String.concat ["Hello","Tutorials","Point"]
HelloTutorialsPoint : String
スプリット
この関数は、指定された区切り文字を使用して文字列を分割します。
構文
String.split string_seperator String_value
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.split
<function> : String -> String -> List String
の署名は、2つの入力文字列パラメータと文字列タイプのリストとして出力を示します。
図
> String.split "," "Hello,Tutorials,Point"
["Hello","Tutorials","Point"] : List String
スライス
この関数は、開始インデックスと終了インデックスを指定して部分文字列を返します。負のインデックスは、リストの最後から取得されます。インデックスの値はゼロから始まります。
構文
String.slice start_index end_index String_value
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.slice
<function> : Int -> Int -> String -> String
の署名は、3つの入力パラメーターと1つの戻り値の型を示しています。
図
> String.slice 0 13 "TutorialsPoint"
"TutorialsPoin" : String
含まれています
この関数は、2番目の文字列に最初の文字列が含まれている場合にTrueを返します。
構文
String.contains string1 string2
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.contains
<function> : String -> String -> Bool
の署名は、boolの戻り値の型と2つの入力パラメーターを示しています
図
> String.contains "Point" "TutorialsPoint"
True : Bool
toInt
この関数は、文字列をintに変換します。
構文
String.toInt string_value
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> 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
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> 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
elmREPLに続く関数型のシグネチャをチェックするには-
> String.fromChar
<function> : Char -> String
シグニチャは、戻り値の型として文字列を示し、文字の型として入力を示します
図
> String.fromChar 'c'
"c" : String
toList
この関数は、文字列を文字のリストに変換します。
構文
String.toList string_value
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> 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
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.fromList
<function> : List Char -> String
シグニチャショー関数は文字のリストを返し、文字列を入力します。
図
> String.fromList ['h','e','l','l','o']
"hello" : String
toUpper
この関数は、文字列をすべて大文字に変換します。
構文
String.toUpper String_value
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.toUpper
<function> : String -> String
図
> String.toUpper "hello"
"HELLO" : String
toLower
この関数は、文字列をすべて小文字に変換します。
構文
String.toLower String_value
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.toLower
<function> : String -> String
図
> String.toLower "AbCd"
"abcd" : String
トリム
この関数は、文字列の両側の空白を取り除きます。
構文
String.trim String_value
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.trim
<function> : String -> String
図
> String.trim "tutorialspoint "
"tutorialspoint" : String
フィルタ
この関数は、入力文字列から文字のセットをフィルタリングします。テストに合格した文字のみを保持します。
構文
String.filter test_function string_value
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.filter
<function> : (Char -> Bool) -> String -> String
署名は、フィルターが2つの入力パラメーターを受け取り、文字列を返すことを示しています。最初のパラメーターは、入力Charを持ち、Boolを返す関数です。
図
この例では、パラメーターとしてChar.isUpperをフィルターメソッドに渡します。以下に示すように、すべて大文字を返します。
> import Char
> String.filter Char.isUpper "abcDEF"
"DEF" : String
地図
この関数は文字列を受け取り、文字列内のすべての文字を変換します。
構文
String.filter mapping_function string_value
関数のシグネチャを確認するには、elmREPL-に次のように入力します。
> String.map
<function> : (Char -> Char) -> String -> String
図
次の例では、文字oを@ −に置き換えます。
> String.map (\c -> if c == 'o' then '@' else c) "TutorialsPoint"
"Tut@rialsP@int" : String