perl substr() function example, substr() function example code - returns the substring of EXPR, starting from the offset OFFSET within the string.
Grammar:
substr EXPR, OFFSET, LEN, REPLACEMENT
substr EXPR, OFFSET, LEN
substr EXPR, OFFSET
Definition and usage
Returns the substring of EXPR, starting from the offset OFFSET within the string. If OFFSET is negative, the string starts with many characters at the end. If LEN is specified, returns the number of bytes, or all bytes up to the end of the string (if not specified). If len is a negative number, the number of characters to end the string.
If you replace the substring specified by REPLACEMENT, replace the string of REPLACEMENT.
If you specify a substring that goes beyond the end of the string, return the only valid element of the original string.
Return value
String
Example
Try the following example:
#!/usr/bin/perl -w #by www.yiibai.com $temp = substr("okay", ); print "Substring valuye is $temp\n"; $temp = substr("okay", ,); print "Substring valuye is $temp\n";
This will produce the following results:
Substring value is ay
Substring value is ka
Example analysis of Perl substr function application
This article will focus on the application of the Perl substr function. When writing a perl program, we sometimes need to intercept part of a string. At this time, we usually use the substr function to achieve this function.
Perl substr function application
When writing a perl program, we sometimes need to intercept part of the content of a string. At this time, we usually use the Perl substr function to achieve this function.
$str="testtest"; printsubstr($str,0,5); $str="testtest"; printsubstr($str,0,5);
Run the above program and output the result "testt", which is the result we want. Take another look at the program below:
$str="测试文本"; printsubstr($str,0,1); $str="测试文本"; printsubstr($str,0,1);
At this time, a "?" is output, which is obviously not the result we want. Because in Perl, all strings input from the outside (including strings written in the program) will be treated as bytes, "printsubstr($str,0,1);" this sentence just means "test text" The first byte is taken out and outputted using print. However, a single byte cannot represent a Chinese character, so "?" is output.
If you want the above program to output correct results, you need to use the decode function to convert the "test text" into a perl internal string, so that perl can treat the "test text" as a string, and then use "substr( $str,0,1);"What is intercepted is not a byte, but a Chinese character.
Let’s take a look at the usage of Perl substr function:
Command: substr
Syntax: substr($string,offset,length)
offset represents the position of the starting character, and length represents the length of the quoted string. If length is omitted, it represents the length from the starting value to the last character of the string. And
If offset is a negative value, characters will be specified starting from the right side of the string.
Example:
$s=substr("perl5",2,2);#这时$s="rl"; $s=substr("perl5",2);#这时$s="rl5"; $s=substr("perl5",-2,2);#这时$s="er";