字符串。概述

字符串是按特定顺序排列的字符列表(或序列)。整个字符序列被视为单个实体。

字符是您可以通过一次击键在键盘上键入的任何内容(字母、数字、反斜杠或其他一些字符)。
字符串可以有空格: "Hello world!"
空字符串是包含 0 个字符的字符串。
Pascal 将所有用撇号 (' ') 编写的内容都识别为字符串。
在 Pascal 中,字符串的类型是 string

您可以使用输入语句将新值写入字符串 <前> 阅读(s); 您也可以简单地为变量分配一个字符串值,例如   <前> s := 'Python'; 您可以使用内置函数 length 确定字符串的长度 <前> n := 长度


字符串比较

字符串可以像数字一样相互比较。您可以确定哪条线更大,哪条更小。

比较字符串时,比较的是字符代码。有几十种(如果不是数百种)字符编码。理解这个概念的最简单方法是理解其中一种最简单的 ASCII(阅读此处)。  
需要了解的是,在现代编码中,俄文和英文字母均按字母顺序排列,数字也从小到大。 
例如,在ASCII码表中,英文字母'A'的编码; - 65,字母“a”; - 97,数字“0”;代码为 48。俄文字母位于 ASCII 代码表的扩展部分(数字从 128 到 255)。大写字母先于小写字母(即代码更小)。
在大多数使用的编码表中,模式是相同的,小写字母晚于大写字母,数字早于字母,俄文字母晚于英文。

例如:“机车”  < “steamboat”,因为单词在第五个字母和“in”中不同< “x”。

不幸的是,Pascal 中没有允许从一行中读取多个空格分隔行的函数。为此,您必须编写自己的函数: <前> 变量,w:字符串; i, j, ind:整数; a:字符串数组; 开始 阅读(S); setlength(a, 长度(s)); 我:= 1; 工业:= 0; 而我 <长度做 开始 while (i < length(s)) and ('' + s[i] = ' ') do i += 1; j := i + 1; w := '' + s[我]; while (j < length(s)) and ('' +s[j] <> ' ') 开始 w += s[j]; j += 1; 结尾; a[ind] := w; 指数+=1; 我 := j; 结尾; 写(a[0],a[1]); 结尾。

结果,我们得到了一个字符串数组。

可以使用“+”号将字符串相加。此操作称为字符串连接或连接。 
例如,  <前> s := '嗨,'; s1 := '世界'; writeln(s + s1); 屏幕将显示短语“Hello world”; (不带引号)。

引用行索引
字符串的每个字符都有自己的编号(称为 索引),编程语言 Pascal 中的索引从一开始。也就是说,第一个字符的索引为 1,第二个字符的索引为 2,依此类推。
字符串字符可以通过索引访问,索引在方括号中表示 s[i]
 
例子 
<正文>
附言PascalABC.NET 中的许多字符串方法都假定字符串是从零开始索引的。我们暂时不会使用与从零开始的索引一起工作的字符串方法。这些具有外部函数的等效替换,假设行从 1 开始索引。 
 

字符串 S H e l l o
索引 S[1] S[2] S[3] S[4] S[5]
由于可以通过索引访问字符,因此可以使用变量循环遍历所有字符,这些字符将采用可能的索引值。例如,显示字符串 s 的所有字符代码的程序如下所示 <前> for i := 1 to length(s) 做 writeln(s[i], ord(s[i])) 节目说明:
1) length(s) 函数求字符串的长度。第一个字符的索引是 1,最后一个字符的索引是 length(s)。循环变量i只会取值从1到length(s)。
2) 在每一行中,首先显示交易品种本身,然后是其代码,由内置函数ord()
返回
相同的枚举可以写得更短: <前> 对于 c in s do      writeln(c, ord(c)); 在这个片段中,循环头循环遍历所有字符 s,依次将它们放入变量 c 中。

Pascal 在处理字符串时的特点是字符串是可变对象。换句话说,我们可以改变字符串的单个字符。
例如,以下语句将起作用 <前> s[5] := 'a'; 您还可以根据需要更改的字符组成新字符串。
例如,替换所有字符“a”的程序到角色“b”看起来像这样: <前> 阅读(S);     for i := 1 to length(s) 开始        如果 s[i] = 'a' 则 s[i] := 'b';    结尾; writeln(s); 在这个例子中,我们循环遍历字符串 s 的所有字符。在循环体中,我们检查变量 s[i] 的值:如果字符与字符 'a' 匹配,则我们将其替换为 'b'。