字符串[编辑]
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充两点:1.Free Pascal中的Ansistring只能看成整体,很多函数无法使用,就算是提取单个元素也很麻烦,所以除非万不得已就不要用;2.字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“aaaaabbbbb”,则s【1】=“a”,s【10】="b",而字符串的零位正是它的长度,如s【0】=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。
编程-字符串
字符串或串(String)是由零个或多个字符组成的有限序列。一般记为
s='a1a2···an'(n>=0)。它是编程语言中表示文本的数据类型。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。
字符串函数
1. 连接运算 concat(s1,s2,s3…sn)
相当于s1+s2+s3+…+sn.
例:concat(‘11’,'aa’)='11aa’;
2. 求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。
例:copy(‘abdag’,2,3)=’bda’
3. 删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。
例:s:=’abcde’;delete(s,2,3);结果s:=’ade’
4. 插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置
例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’
5. 求字符串长度 length(s) 例:length(‘12abc’)=5
在ASP中 求字符串长度用 len(s)例: len("abc12")=5
6. 搜索子串的位置 pos(s1,s2) 如果s1是s2的子串
,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0.
例:pos(‘ab’,’12abcd’)=3
7. 字符的大写转换。Upcase(ch) 求字符ch的大写体。
例:upcase(‘a’)=’A’
8. 数值转换为数串。 过程 Str(x,s) 把数值x化为数串s.
例:str(12345,s); 结果s=’12345’
9. 数串转换为数值。 过程val(s,x,I)
把数串s转化为数值x,如果成功则I=0,不成功则I为无效字符的序数
例:val(‘1234’,x,I);结果 x:=1234
“字符串”病毒
“字符串(Trojan.String.a)”病毒:警惕程度★★★,木马病毒,通过网络传播,依赖系统: WIN9X/NT/2000/XP。
该病毒通过网络传播,进入用户电脑后就隐藏在系统目录和内存中,病毒发作时会给用户电脑造成以下破坏:屏幕为空、无端打开CD驱动器、进行洪水攻击、打开黄色网站等,用户要小心防毒。
形式理论
设 Σ 是叫做字母表的非空有限集合。Σ 的元素叫做“符号”或“字符”。在 Σ 上的字符串(或字)是来自 Σ 的任何有限序列。例如,如果 Σ = {0, 1},则
0101 是在 Σ 之上的字符串。
字符串的长度是在字符串中字符的数目(序列的长度),它可以是任何非负整数。“空串”是在 Σ 上的唯一的长度为
0 的字符串,并被指示为 ε 或 λ。
在 Σ 上的所有长度为 n 的字符串的集合指示为 Σn。例如,如果 Σ = {0, 1} 则 Σ2 =
{00, 01, 10, 11}。注意 Σ0 = {ε} 对于任何字母表 Σ。
在 Σ 上的所有任何长度的字符串的集合是 Σ 的Kleene闭包并被指示为 Σ*。 依据Σn, 。例如,如果
Σ = {0, 1} 则 Σ* = {ε, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, …}。尽管 Σ*
自身是可数无限的,Σ* 的所有元素都有有限长度。
在 Σ 上一个字符串的集合(就是 Σ* 的任何子集)被称为在 Σ 上的形式语言。例如,如果 Σ = {0, 1},则带有偶数个零的字符串的集合({ε, 1, 00, 11, 001, 010,
100, 111, 0000, 0011, 0101, 0110, 1001, 1010, 1100, 1111, …})是在 Σ 上的形式语言。
串接和子串 “串接”是 Σ* 上的重要二元运算。对于 Σ* 中的两个字符串
s 和 t,它们的串接被定义为在 s 中的字符序列之后跟随着 t 中的字符序列,并被指示为 st。例如,Σ = {a, b, …, z},并且 s = bear
且 t = hug,则 st = bearhug 而 ts = hugbear。
字符串串接是结合性的,但非交换性运算。空串充当单位;对于任何字符串 s,有 εs = sε =
s。所以,集合 Σ* 和串接运算形成了幺半群,就是从 Σ 生成的自由幺半群。此外,长度函数定义从 Σ* 到非负整数的幺半群同态。
字符串 s 被称为是字符串 t 的“子串”或“因子”,如果存在(可能为空)字符串 u 和 v 使得 t =
usv。“是其子串”关系定义了在 Σ* 上的偏序,其最小元是空串。
网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # wm23.com。