加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

2 Perl - 字符串-1

发布时间:2020-12-15 20:50:43 所属栏目:大数据 来源:网络整理
导读:2.2 字符串 字符串是一串字符(如hello)。字符串可能是字符的任意组合◆。最短的字符串不含任何字符。最长的字符串,可以填满 整个内存。这符合Perl 的哲学,只要有可能就不加任何内嵌的限制。通常字符串是可打印字符,数字,标点符号的序列(从 ASCII 32

2.2 字符串
字符串是一串字符(如hello)。字符串可能是字符的任意组合◆。最短的字符串不含任何字符。最长的字符串,可以填满
整个内存。这符合Perl 的哲学,只要有可能就不加任何内嵌的限制。通常字符串是可打印字符,数字,标点符号的序列(从
ASCII 32 到ASCII 126)。但,Perl 中字符串可以包含任意字符,意味着利用字符串(string)你可以创建,遍历,操作二进制
数据,而利用别的方法可能遇到极大的困难。例如,你可以把要更新的图片或编译好的程序放入一个Perl 的字符串变量中,
做完相应的修改后,再写回去。
◆和C,C++不同,Perl 中NUL 字符没有特殊的含义。Perl 能计算长度,不用靠null 来判断字符串是否结束。
和数字一样,字符串也可由文字符号(literal)来表示,它用来在Perl 程序中代表某个字符串。有两种类型的字符串:单引号
字符串和双引号字符串。

?

?

2.2.1 单引号字符串
单引号字符串是由单引号括起来的字符序列。单引号不是字符串的一部分,但Perl 可以利用它来辨别字符串的开始和结束。
除了单引号,或者反斜线(包括换行字符,如果字符串在下一行继续)之外的任何字符都表示它自身。要得到一个反斜线,
可以把两个反斜线放在一起;要得到单引号,需要在单引号前加上反斜线:

?

??? print 'fred'; #四个字符:f,r,e,d
??? print 'barney'; #六个字符
??? print''; #空字符(没有字符)
??? print 'Don’t let an apostrophe end this string prematruely!';
??? print 'the last character of this string is a backslash: //';
??? print 'hello/n'; #hello 紧跟着反斜线和n
??? print 'hello
??? there'; #hello,换行,there (共11 个字符)
??? print '/'//'; #单引号(')跟着反斜线(/)

?

单引号字符串中的/n 不会被当作换行符来处理,其仅仅是两个字符/和n。只有在反斜线(/)后面接的是/或单引号’,其才会被
当作特殊符号来处理。

?

2.2.2 双引号字符串

双引号字符串和在其它语言类似。它也是字符的序列,不同点在于,其由双引号括起来的。现在,反斜线可以用来表示控
制字符,或者八进制,十六进制数的表示。下面是一些双引号字符串的例子:

?

print "barney"; #等同于'barney'
print "hello world/n"; #hello world,换行
print "the last character of this string is a quote mark:/"";
print "coke/tsprite"; # coke,a tab(一个制表符),sprite

?

双引号中字符串“barney”和单引号字符串‘barney’相同。和数字一样,0377 只是255.0 的另一种写法。Perl 允许你以一种更
有意义的方式来书写。当然,如果想/和之后的字符成为转义字符(如/n 表示新行),应当使用双引号。

?

双引号字符串另一个性质是可进行变量内插,这是说当使用字符串时,如果字符串中含有变量名,将由变量的当前值替换 它。我们还没有介绍变量,在本章的后面将继续讨论这个问题。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读