Perlで文字列を2つの部分だけに分割するにはどうすればよいですか?
質問
複数の部分がタブで区切られた文字列があります:
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(.+)/;
所属していません StackOverflow