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