Perlで文字列を2つの部分だけに分割するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1412567

  •  06-07-2019
  •  | 
  •  

質問

複数の部分がタブで区切られた文字列があります:

 Hello\t2009-08-08\t1\t2009-08-09\t5\t2009-08-11\t15

最初のタブでのみ分割したいので、" Hello"最終的には $ k になり、残りは $ v になります。これはまったく機能しません:

my ($k, $v) = split(/\t/, $string);

どうすればそれができますか?

役に立ちましたか?

解決

それを取得するには、 split()の3番目のパラメーターを使用する必要があります 、関数に分割するフィールドの最大数を与える(正の場合):

my($first, $rest) = split(/\t/, $string, 2);

他のヒント

いいえ。最初の2つの項目を提供し、残りを投げます。これを試してください:

my ($k, $v) = split(/\t/, $string, 2);

別のオプションは、単純な正規表現を使用することです。

my($k,$v) = $str =~ /([^\t]+)\t(.+)/;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top