学习啦>知识大全>知识百科>百科知识>

什么是字符串如何表示

谢君分享

  字符串或串是由数字、字母、下划线组成的一串字符。那么你对字符串了解多少呢?以下是由学习啦小编整理关于什么是字符串的内容,希望大家喜欢!

  字符串的介绍

  字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[0]=“a”,s[9]="j",而字符串的零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。

  一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。

  通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设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:=’ae’

  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

  字符串的表示法

  一种常用的表示法是使用一个字符代码的数组,每个字符占用一个字节(如在ASCII代码中)或两个字节(如在unicode中)。它的长度可以使用一个结束符(一般是NUL,ASCII代码是0,在C编程语言中使用这种方法)。或者在前面加入一个整数值来表示它的长度(在Pascal语言中使用这种方法)。

  这是一个用NUL结束的字符串的例子,它用10个byte存储,用ASCII表示法:

  F R A N K NUL k e f w

  46 52 41 4E 4B 00 6B 66 66 77

  上面的字符串的长度为5个字符,但注意它占用6个字节。结束符后的字符没有任何意义。

  这是相同的Pascal字符串:

  length F R A N K k e f w

  05 46 52 41 4E 4B 6B 66 66 77

  当然,可能还有其它的表示法。使用树和列表可以使得一些字符串操作(如插入和删除)更高效。
看过“字符串的表示法”的人还看了:

1.你怎么在excel中使用len函数

2.Linux如何使用文本处理工具awk

3.Excel表格中怎样提取字符串中的特定字符

4.c语言中char的用法

5.编码管理制度范文三篇

6.c语言printf的用法

    1556754