我有一个字符串,其中有几个部分由制表符分隔:
Hello\t2009-08-08\t1\t2009-08-09\t5\t2009-08-11\t15
我只想在第一个标签页上将其拆分,以便“{0}}中的”Hello“结束,而$k
结束休息。这不太有效:
$v
我该怎么做?
答案 0 :(得分:37)
为了实现这一目标,您需要使用第3个参数split()
,这将为函数提供要分割的最大字段数(如果为正):
my($first, $rest) = split(/\t/, $string, 2);
答案 1 :(得分:7)
没有。它将为您提供前两项并抛弃其余项目。试试这个:
my ($k, $v) = split(/\t/, $string, 2);
答案 2 :(得分:1)
另一种选择是使用简单的正则表达式。
my($k,$v) = $str =~ /([^\t]+)\t(.+)/;