05-23-2006
That's an interesting observation of the idiosyncracies of the Perl split() function. From the manpage, the first paragraph reads:
Quote:
Splits the string EXPR into a list of strings and returns that list. By default, empty leading fields are preserved, and empty trailing ones are deleted. (If all fields are empty, they are considered to be trailing.)
It appears strange to me too ... I am not sure if there is a workaround of it.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi all!
I am relatively new to UNIX staff, and I have come across a problem:
I have a big directory, which contains 100 smaller ones. Each of the 100 contains a file ending in .txt , so there are 100 files ending in .txt
I want to split each of the 100 files in smaller ones, which will contain... (4 Replies)
Discussion started by: ktsirig
4 Replies
2. Shell Programming and Scripting
Hello,
if i have file like this:
010000890306932455804 05306977653873 0520080417010520ISMS SMT ZZZZZZZZZZZZZOC30693599000 30971360000 ZZZZZZZZZZZZZZZZZZZZ202011302942311 010000890306946317387 05306977313623 0520080417010520ISMS SMT ZZZZZZZZZZZZZOC306942190000 30971360000... (5 Replies)
Discussion started by: chriss_58
5 Replies
3. Shell Programming and Scripting
Hi! I'm doing bash shell scripting and would like to know if bash had something similar to perl's split function? Ultimately, I want to split two strings (delimeter = '.') and compare each of their values. Thus, I figured putting them in an array would be easiest.
So i.e.:
String 1:... (5 Replies)
Discussion started by: eur0dad
5 Replies
4. Shell Programming and Scripting
On a line in a file::
/atrclips/u90/2009/169_008/Y5288900/SATHSWR_P1/1809853_SATHSWR_P1.tif,00018098539415200901_SATHSWR_P1.tif
How do I use the split function to extract 169008......I tried ....
foreach my $line (@lines)
{
... (3 Replies)
Discussion started by: bandar007
3 Replies
5. Homework & Coursework Questions
Hi... I have a question regarding the split function in PERL.
I have a very huge csv file (more than 80 million records). I need to extract a particular position(eg : 50th position) of each line from the csv file. I tried using split function. But I realized split takes a very long time.
Also... (1 Reply)
Discussion started by: castle
1 Replies
6. Homework & Coursework Questions
Hi... I have a question regarding the split function in PERL.
I have a very huge csv file (more than 80 million records). I need to extract a particular position(eg : 50th position) of each line from the csv file. I tried using split function. But I realized split takes a very long time.
Also... (0 Replies)
Discussion started by: castle
0 Replies
7. Shell Programming and Scripting
Hi... I have a question regarding the split function in PERL.
I have a very huge csv file (more than 80 million records). I need to extract a particular position(eg : 50th position) of each line from the csv file. I tried using split function. But I realized split takes a very long time.
Also... (1 Reply)
Discussion started by: castle
1 Replies
8. UNIX for Advanced & Expert Users
Hi,
Below is an example of a record I have, which I wish to split using the perl's split function and load it into an array. I am having tough time figuring out the exact reg-ex to perform the split.
Given record:
"a","xyz",0,2,48,"abcd","lmno,pqrR, stv",300,"abc",20,
The delimiter to... (4 Replies)
Discussion started by: jghoshal
4 Replies
9. Shell Programming and Scripting
my @d =split('\|', $_);
west|ACH|3|Y|LuV|N||N||
Qt|UWST|57|Y|LSV|Y|Bng|N|KT|
It Returns d as 8 for First Line, and 9 as for Second Line . I want to Process Both the Files, How to Handle It. (3 Replies)
Discussion started by: vishwakar
3 Replies
10. UNIX for Dummies Questions & Answers
Hi all,
I have a csv file that appears as follows:
,2013/03/26,2012/12/26,4,1,"2017/09/26,5.75%","2017/09/26,1,2018/09/26,1,2019/09/26,1,2020/09/26,1,2021/09/26,1",,,2012/12/26,now when i use the split function like this:
my @f = split/,/; the split function will split the data that is... (2 Replies)
Discussion started by: WongSifu
2 Replies
SPLIT(3) 1 SPLIT(3)
split - Split string into array by regular expression
SYNOPSIS
array split (string $pattern, string $string, [int $limit = -1])
DESCRIPTION
Splits a $string into array by regular expression.
Warning
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
PARAMETERS
o $pattern
- Case sensitive regular expression. If you want to split on any of the characters which are considered special by regular
expressions, you'll need to escape them first. If you think split(3) (or any other regex function, for that matter) is doing some-
thing weird, please read the file regex.7, included in the regex/ subdirectory of the PHP distribution. It's in manpage format, so
you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.
o $string
- The input string.
o $limit
- If $limit is set, the returned array will contain a maximum of $limit elements with the last element containing the whole rest
of $string.
RETURN VALUES
Returns an array of strings, each of which is a substring of $string formed by splitting it on boundaries formed by the case-sensitive
regular expression $pattern.
If there are n occurrences of $pattern, the returned array will contain n+1 items. For example, if there is no occurrence of $pattern, an
array with only one element will be returned. Of course, this is also true if $string is empty. If an error occurs, split(3) returns FALSE.
EXAMPLES
Example #1
split(3) example
To split off the first four fields from a line from /etc/passwd:
<?php
list($user, $pass, $uid, $gid, $extra) =
split(":", $passwd_line, 5);
?>
Example #2
split(3) example
To parse a date which may be delimited with slashes, dots, or hyphens:
<?php
// Delimiters may be slash, dot, or hyphen
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />
";
?>
NOTES
Note
As of PHP 5.3.0, the regex extension is deprecated in favor of the PCRE extension. Calling this function will issue an E_DEPRECATED
notice. See the list of differences for help on converting to PCRE.
Tip
split(3) is deprecated as of PHP 5.3.0. preg_split(3) is the suggested alternative to this function. If you don't require the power
of regular expressions, it is faster to use explode(3), which doesn't incur the overhead of the regular expression engine.
Tip
For users looking for a way to emulate Perl's @chars = split('', $str) behaviour, please see the examples for preg_split(3) or
str_split(3).
SEE ALSO
preg_split(3), spliti(3), str_split(3), explode(3), implode(3), chunk_split(3), wordwrap(3).
PHP Documentation Group SPLIT(3)