串及其运算入门

  • 计算机上的非数值处理的对象基本上是字符串数据。
  • 在较早的程序设计中,字符串是作为输入和输出的常量出现的。
  • 随着语言加工程序的发展,产生了字符串处理,这样,字符串也就作为一种变量类型出现在越来越多的程序设计语言中,同时也产生了一系列字符串的操作。
  • 字符串一般简称为
  • 在计算机语言的编译程序中,源程序和目标程序都是字符串数据
  • 在事务处理程序中,顾客的姓名和地址以及货物的名称、产地和规格等一般也是作为字符串处理的。又如信息检索系统、文字编译程序、问答系统、自然语言翻译系统以及音乐分析程序等,都是以字符串数据作为处理对象的。

串的基本概念

串(或字符串),是由零个或多个字符组成的有限序列。一般记为:

s='a1a2...an' (n≥0)
  • 其中s是串的名字,用单引号括起来的字符序列是串的值,串中字符的个数n称为串的长度。
  • 零个字符的串称为空串,通常用符号“”来表示,它的长度为零。
  • 串中任意个连续的字符组成的子序列称为该串的子串。包含子串的串相应地称为主串。通常称字符在序列中序号为字符位置。
  • 子串在主串中的位置则以子串的第一个字符在主串中的位置来表示,称为子串位置。
  • 例:a=‘cheng’,b=‘du’,c=‘chengdu’,d='cheng du’串长分别为5、2、7、8,且a、b都是c、d的子串。a在c和d中的位置都是1,而b在c中的位置是6,在d中的位置则是7。
  • 称两个串是相等的,当且仅当这两个串的值相等,即只有当两个串的长度相等,并且各个对应位置的字符都相等时才相等。
  • 在我们描述串时,要求串的值必须用一对单引号括起来,但单引号本身不属于串,它的作用只是为了避免与变量名或常量混淆而已。

串的基本操作

串的基本操作串的逻辑结构和线性表很相似,区别仅在于串的数据对象约束为字符集,而线性表的数据对象则不限。但是,串的基本操作和线性表有很多差别。在线性表的基本操作中,大多数以“单个元素”作为操作对象,例如在线性表中删除一个元素,在指定位置插入一个元素,或查找表中的某个元素等。而在串的基本操作中,通常针对某个子串进行操作,例如查找某个子串,在串的某个位置插入一个子串或删除一个子串等。

1)串复制——将某个串复制给当前串;
(2)判空——判断当前串是否为空,若当前串为空串,则返回true,否则返回false;
(3)串比较——判断当前串与指定串。若相等,返回0;若当前串<指定串, 返回-1;若当前串>指定串,返回1;
(4)求串长——返回当前串的字符个数;
(5)串连接——将串S1和S2连接成一个新串,并赋值给串T;
(6)求子串——返回当前串的第i个字符开始的长达k个字符的子串;
(7)子串定位——输出子串在当前串中首次出现的位置;
(8)串替换——用子串x替换当前串中的子串y;
(9)插入子串——将子串插到当前串中的某个位置;
(10)删除子串——从当前串中删除指定子串;
(11)大写转小写——将当前串中的所有大写字母全部转化为对应小写字符;(12)小写转大写——将当前串中的所有小写字母全部转化为对应大写字符;(13)串压缩——将当前串中首部和尾部的所有空格删除。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值