1homebackfirstprevnextlast本节目标•字符串•字符串操作–取子串–颠倒字符串–查找子串–替换子串–串连字符串2homebackfirstprevnextlast字符串4-1•字符串或串(String)是由零个或多个字符组成的有限序列•通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等•两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。•设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。3homebackfirstprevnextlast字符串4-2•字符串运算–1.连接运算。也称为串连或字符串相加,例:‘11’+‘aa’=‘11aa’;–2.求子串。从字符串‘abdag’,中截取第2个字符开始后的长度为3的子串结果为’bda’–3.删除子串。从字符串’abcde’中删除第2个字符开始后的长度为3的子串,结果为’ae’4homebackfirstprevnextlast字符串4-3•字符串运算–4.插入子串。过程Insert(s1,s2,I)把‘12’插入到’abc’的第2个位置,结果为’a12bc’–5.求字符串长度length。例:length(‘12abc’)=5–6.搜索子串的位置。如果s1是s2的子串,则返回s1的第一个字符在s2中的位置,若不是子串,则返回0。例:position(‘ab’,’12abcd’)=35homebackfirstprevnextlast字符串4-4•字符串运算–7.字符的大写转换。例:‘a’转为大写为’A’–8.数值转换为数串。如12345转换为’12345’–9.数串转换为数值。如‘1234’转换为1234•Scratch支持的字符串操作–连接–取指定位置字符–求字符串长度6homebackfirstprevnextlast练习5-1•取子串–提示用户输入字符串–提示用户输入子串起始位置–提示用户输入子串长度–显示所取得的子串7homebackfirstprevnextlast练习5-2•颠倒字符串–提示用户输入字符串–反转后显示,例如用户输入Hello,反转后显示olleH8homebackfirstprevnextlast练习5-3•查找子串–从第s个字符开始,查找字符串string中,子串substring第n次出现的位置。如果没有找到子串,返回0•替换子串–从第s个字符开始,查找字符串string中,子串src_string是否存在。如果存在,将其替换为字符串dest_string•拼接字符串–重复10次,依次输出:这是第1个数字!这是第2个数字!……这是第10个数字!–提示:用变量表示123……10,将变量和“这是第”、“个数字”拼接成一个字符串。9homebackfirstprevnextlast练习5-4•回文数是一种数字,其特点是正读倒读一样。如:98789,正读是98789,倒读也是98789•判断用户输入的数字是否为回文数–将用户输入的数字当作字符串。然后将字符串的每个字符从头到尾依次取出来,然后从后到前再拼成一个新的字符串,如果两个字符串相同,则用户输入的数字为回文数。10homebackfirstprevnextlast练习5-511homebackfirstprevnextlast总结•字符串•字符串操作–取子串–颠倒字符串–查找子串–替换子串–串连字符串