Tôi đang cố gắng tách một chuỗi thành một mảng với sự phân chia xảy ra tại các khoảng trắng. Mỗi khối văn bản được phân cách bởi nhiều không gian (biến).Biến phân chia trên không gian trắng
Đây là chuỗi:
NUM8 host01 1,099,849,993 1,099,849,992 1
Tôi đã thử những điều sau đây không thành công.
my @array1 = split//, $VAR1;
my @array1 = split/+/, $VAR1;
my @array1 = split /\s/, $VAR1;
my @array1 = split /\s+/, $VAR1;
Tôi muốn kết thúc với:
$array1[0] = NUM8
$array1[1] = host01
$array1[2] = 1,099,849,993
$array1[3] = 1,099,849,992
$array1[4] = 1
cách tốt nhất để chia này là gì?
Cảm ơn!
Tùy chọn cuối cùng nên làm việc, vì vậy tôi đoán là bạn có một số tab trong đó có thể. – squiguy
Bạn đã nhận được kết quả gì từ nỗ lực của mình? Phương pháp cuối cùng bạn sử dụng được cho là hoạt động. – doubleDown
@squiguy: '\ s' khớp các tab. Vấn đề là Perl sẽ trả về một danh sách với một trường có độ dài bằng 0 nếu chuỗi bắt đầu bằng dấu tách. – Borodin