もっと詳しく
split()関数は、特定の区切り文字に基づいて文字列を分割するために使用されます。区切り文字が指定されていない場合は、スペースがデフォルトの区切り文字として使用されます。 区切り文字は、文字、文字のリスト、正規表現パターン、ハッシュ値、および未定義の値にすることができます。 この関数は、Perlスクリプトによってさまざまな方法で使用できます。 このチュートリアルでは、複数の例を使用して、Perlでのsplit()関数のさまざまな使用法を示しました。

構文

split()はさまざまな方法で使用できます。 分割関数のさまざまな構文を以下に示します。

A.分割
引数なしで分割すると、スペースに基づいてデフォルト変数の値が分割されます。

B.正規表現を分割する
正規表現のみを使用するsplit関数は、一致するたびにデフォルト変数の値を分割します。

C.正規表現、文字列を分割する
正規表現と文字列値を使用するsplit関数は、パターンに基づいて文字列の値を分割します。

D.正規表現、文字列、制限を分割する
正規表現、文字列、および制限を使用するsplit関数は、パターンに基づいて文字列値を分割し、返される配列の要素数は制限値によって異なります。

例1:スペースに基づいて文字列を分割する

スペースに基づいて文字列値を分割する次のスクリプトを使用してPERLファイルを作成します。 ここでは3語の文字列が使用されています。 ‘for’ループは、split()関数によって返される配列値を出力するために使用されています。

#テキストを定義する
$ text = 「PERLプログラミング言語」;
#スペースに基づいてテキストを分割する
@split_arr = スプリット(( $ text)。;

#配列の各要素を反復処理します
foreach $ word ((@split_arr)。 {{
#各行に分割された各単語を印刷する
印刷 “$ word n「」;
}

出力
上記のスクリプトを実行すると、次の出力が表示されます。 返される配列には、ここに出力される3つの要素が含まれています。

例2:特定の文字に基づいて文字列を分割する

文字’:’に基づいて文字列値を分割する次のスクリプトを使用してPERLファイルを作成します。 3′;’の文字列ここで使用されています。 split()関数によって返される配列の各要素は、インデックスを使用して個別に出力されています。

#テキストを定義する
$ text = ‘11876:モシャラフカリム:CSE’;

#’:’に基づいてテキストを分割する
@split_arr = スプリット((‘:’ $ text)。;

#各配列値を出力する
印刷 “ID:$ split_arr[0] n「」;
印刷 “名前:$ split_arr[1] n「」;
印刷 “部門:$ split_arr[2] n「」;

出力
上記のスクリプトを実行すると、次の出力が表示されます。 文字列値は、「:」に基づいて3つの単語に分割されています。

例3:制限付きの文字列の分割

文字’、’に基づいて文字列値を制限値で分割する次のスクリプトを使用してPERLファイルを作成します。 6’、’の文字列が使用されており、ここでは制限値が5に設定されています。 split()関数によって返される配列の各要素は、インデックスを使用して個別に出力されています。 ‘for’ループは、split()関数によって返される配列値を出力するために使用されています。

#テキストを定義する
$colors = 「赤、緑、青、白、黒、黄、シアン」;
#文字と制限に基づいてテキストを分割する
@split_arr = スプリット((‘、’ $colors 5)。;

印刷 「色は次のとおりです。 n「」;
#配列の各要素を反復処理します
foreach $ word ((@split_arr)。 {{
#各行に分割された各単語を印刷する
印刷 “$ word n「」;
}

出力
上記のスクリプトを実行すると、次の出力が表示されます。 文字列値は、「、」と制限値5に基づいて5つの単語に分割されています。

例4:正規表現を使用した文字列の分割

正規表現に基づいて文字列値を分割する次のスクリプトを使用してPERLファイルを作成します。 ここでは、アルファベットと数字の文字列が使用されています。 パターン ‘/ + d /’ 数字に基づいて文字列を分割するために使用されています。 パターン ‘/ + D /’ アルファベットに基づいて文字列を分割するために使用されています。 ‘for’ループは、split()関数によって返される配列値を出力するために使用されています。

#テキストを定義する
$ text = 「私は69perl50プログラミングが好きです」;

#数字に基づいて文字列を分割
@words = スプリット((/ d + / $ text)。;

印刷 “数字に基づいて文字列を分割した後の出力: n「」;
#配列値を反復処理する
foreach $ word ((@words)。
{{
#各値を印刷する
印刷 「$word」;
}
#改行を追加
印刷 「」 n「」;

#文字に基づいて文字列を分割
@words = スプリット((/ D + / $ text)。;

印刷 “文字に基づいて文字列を分割した後の出力: n「」;
#配列値を反復処理する
foreach $ word ((@words)。
{{
#各値を印刷する
印刷 「$word」;
}

出力
上記のスクリプトを実行すると、次の出力が表示されます。 最初のsplit()関数は、「I like」、「perl」、および「programming」の3つの要素の配列を返しました。 2番目のsplit()関数は、「69」と「50」の2つの要素の配列を返しました。

例5:未定義の値に基づく文字列の分割

未定義の値に基づいて文字列値を分割する次のスクリプトを使用してPERLファイルを作成します。 ここでは11文字の文字列が使用されています。 ‘undef’キーワードは、文字列の各文字に基づいて文字列を分割するsplit()関数のパターン値として使用されます。 ‘for’ループは、split()関数によって返される配列値を出力するために使用されています。

#文字列を定義する
$ text = ‘こんにちは世界’;

印刷 “メインの文字列値: n「」;
印刷 “$ text”;

#未定義の値に基づいて文字列を分割する
@split_arr = スプリット((undef $ text)。;

印刷 「」 n分割された文字列値: n「」;

#配列の各要素を反復処理します
foreach $ val ((@split_arr)。 {{
#各行に分割された各単語を印刷する
印刷 “$ val”;
}
印刷 「」 n「」;

出力
上記のスクリプトを実行すると、次の出力が表示されます。 返される配列には、文字列の各文字が配列要素として含まれています。

結論

このチュートリアルでは、さまざまなPERLスクリプトを使用して、split()関数のさまざまな使用法を示しました。 このチュートリアルでは、PERLユーザーがスクリプトでこの関数を効率的に使用できるようにするために、split()関数で正規表現パターンと制限を使用する目的について適切に説明しました。

The post Perl Split()関数 appeared first on Gamingsym Japan.