本文概述
- Perl字符串运算符
- Perl串联运算符
- Perl重复运算符
- Perl substr()示例
- Perl字符串比较示例, eq
- Perl确定字符串的长度, length()
- Perl用另一个字符串s /// g替换一个字符串
- Perl在字符串中找到匹配项, =〜
- Perl连接两个字符串(。=)
字符串是Perl语言的重要组成部分。它们是标量变量, 因此它们以($)符号开头。可以在单引号(‘)或双引号(“)中定义字符串。
Perl字符串运算符
操作员可以轻松地以不同方式操作字符串。字符串运算符有两种类型:
- 串联(。)
- 重复次数[x]
Perl串联运算符
Perl字符串以(。)符号而不是(+)符号连接。
$firstName = "Christian";
$lastName = "Grey";
$fullName = $firstName . " " . $lastName;
print "$fullName\n";
输出
Christian Grey
Perl重复运算符
Perl字符串可以使用(x)变量重复多次。
$text = "Thank You ";
$output = $text x 3;
print "$output\n";
输出
Thank You Thank You Thank You
在Perl中, 要声明一个字符串, 请在变量名之前使用my关键字。
可以使用以下语法初始化和声明字符串:
my $variableName = "";
在这个例子中, 我们展示了如何初始化和声明一个字符串。我们通过以下方式一起打印了几个字符串:
- 使用点(。)运算符连接字符串。
- 提供字符串作为单独的参数。
- 将字符串嵌入更大的字符串中。
我们已经展示了所有三种打印输出的方法。
use strict;
use warnings;
# Declaring and initializing a string.
my $msg1 = "Welcome at srcmini.";
my $msg2 = "This is our Perl Tutorial.";
#printing using . operator.
print $msg1 . "" . $msg2. "\n";
#print as separate arguments.
print $msg1, "", $msg2, "\n";
#embedd string in a bigger string.
print "$msg1$msg2\n";
输出
Welcome at srcmini. This is our Perl Tutorial.
Welcome at srcmini. This is our Perl Tutorial.
Welcome at srcmini. This is our Perl Tutorial.
Character | Description |
---|---|
\a | Bell |
\b | 退格 |
\cX | 控制字符。 X是一个字符。 |
\e | 转义下一个字符 |
\E | 它结束\ u, \ l和\ q函数 |
\f | 将formfedd赋予字符串 |
\l | 仅将下一个字母转换为小写。 |
\L | 将所有字母转换为小写。 |
\n | 从新行开始下一行 |
\0nn | 八进制格式编号已创建 |
\Q | 与图案不符 |
\r | 送回车 |
\t | 给字符串一个制表符 |
\u | 仅将下一个字母转换为小写。 |
\U | 将字母转换为大写。 |
\xnn | 十六进制格式编号已创建 |
字符串可以放在单引号(‘)或双引号(“)中, 但它们的行为几乎没有什么不同。
my $user = 'Ana';
print 'Hello $user, welcome at our site.\n';
print "\n";
my $user = 'Ana';
my $day = "today";
print "Hello $user, welcome at our site $day.\n";
输出
Hello $user, welcome at our site.\n
Hello Ana, welcome at our site today.
单引号中的所有字符均按原样解释。
双引号提供插值。表示字符串中存在的其他变量将代表它们的值。转义字符将被其值替换, 例如’\ n’将显示换行符。
Perl substr()示例
substr()函数用于截断字符串。我们需要提供一个偏移量字符串。字符串将被截断直到提供的偏移值。
提及偏移量的长度将在偏移值之后打印字符串, 直到提到的长度为止。
如果提供具有偏移量和长度的新字符串, 它将在偏移量之后替换字符串, 直到长度值为止。
use strict;
use warnings;
# Original string
my $originalstring = "Our site srcmini provides all type of tutorials";
print "$originalstring\n";
# Offset of 4
my $offset = substr($originalstring, 4);
print "$offset\n";
# Offset of 4, length 15
my $offsetlength = substr($originalstring, 4, 15);
print "$offsetlength\n";
# Replacing length with the new string
my $replacing = substr($originalstring, 4, 15, "one and only site");
print "$originalstring\n";
输出
Our site srcmini provides all type of tutorials
site "srcmini" provides all type of tutorials
site srcmini
Our one and only site provides all type of tutorials
Perl字符串比较示例, eq
Perl字符串始终与eq而不是(==)进行比较。它检查两个字符串是否相等。
my $string1 = "Ana";
my $string2 = "Ana";
if($string1 eq $string2) {
print "Match!\n";
}
my $string3 = "Ana";
my $string4 = "Christian";
if($string3 eq $string4) {
print "Match\n!";
}else{
print "Missmatch!\n";
}
输出
Match!
Missmatch!
Perl确定字符串的长度, length()
Perl字符串的长度可以使用length()函数确定。
my $msg = "Our site srcmini provides all type of tutorials";
print "String Length : ", length($msg), "\n";
输出
String Length : 50
Perl用另一个字符串s /// g替换一个字符串
一个字符串可以用两种方式替换为另一个字符串。
在第一个中, 我们用Lions替换了Tigers, 它在字符串中一次用s ///出现。
在第二篇中, 我们用s /// g全局替换了花朵的玫瑰。
my $var1 = "Tigers are big and frightening.";
$var1 =~ s/Tigers/Lions/;
print "$var1\n";
my $var2 = "Red roses are very popular. Yellow roses are less seen.";
$var2 =~ s/roses/flowers/g;
print "$var2\n";
输出
Lions are big and frightening.
Red flowers are very popular. Yellow flowers are less seen.
Perl在字符串中找到匹配项, =〜
Perl提供了一个匹配运算符(=〜)从字符串中查找子字符串。
my $var = "Tigers are big and frightening.";
if($var =~ /frightening/)
{
print "Matched\n";
}else{
print "Match not Found\n";
}
if($var =~ /biggest/)
{
print "Matched\n";
}else{
print "Match not Found\n";
}
输出
Matched
Match not Found
Perl连接两个字符串(。=)
可以使用(。=)运算符将两个字符串连接在一起。
my $str1 = "Where there is a will, ";
my $str2 = "there is a way.\n";
my $joining = '';
$joining = $str1 . ' ';
$joining .= $str2;
print $joining;
输出
Where there is a will, there is a way.