当前位置:洪恩在线 -> 继续教育 -> 计算机考级 -> 二级QBASIC语言
 

  计算机考试
 


  QBASIC    


  子字符串

     子字符串是一个字符串中若干个连续的字符。例如numb$的值为“1234567”,则下面都是numb$的子字符串: “123”,“45”,“2345”,“123456”,“34567”,.....但“1267”不是numb$的子字符串,因为它不是numb$中连续的字符。使用字符串要用到有关的“子串函数”。

    1.LEFT$函数

     它的形式为:LEFT$(<字符串>,n)

     函数值为所指定字符串中左面n个字符。这里的“字符串”,可以是字符串常量、字符串变量、字符数组元素或字符表达式。n可以是一个常数,也可以是变量或数值表达式。

    2.RlGHT$函数

     它的形式为:RIGHT$(<字符串>,n)

     其作用是给出指定字符串中最右面的n个字符。

    3.MID$函数

     其形式为:MID$(<字符串>,p,n)

     用它求一个字符串中从第p个字符开始的n个字符,如MID$(“1234567”,2,4)得到“2345”。

     如果用MID$函数时不指定n,则表示从p字符开始的后面的全部字符。

    4.MID$语句

     MlD$不仅可以作为函数,在QBASIC中它还可以作为语句。利用它能置换字符串中某些位置上的字符。MID$语句的一般形式为:MlD$(<字符串>,p,n)=<字符串2>

     即在字符串1中从第p个位置开始的n个字符被字符串2置换。如:a$=“aaaaaa”

    执行MID$(a$,2,3)=“AAA”后a$变为“aAAAaa”即此语句使a$中从第2个字符开始的3个字符被“AAA”置换。

     说明:

    ①如果“字符串2”的长度大于指定的n,则取“字符串2”中前n个字符去置换,如:MID$(a$,2,3)=“AAAAA”

     由于“字符串2”(即“AAAAA”)长度为5,而只要求置换3个字符,故只取它前3个字符,置换后a$的结果为:“aAAAaa”。

    ②如果“字符串2”的长度小于n,则将字符串2全部去置换,不足的部分不被置换。如:MID$(a$,2,3)=“AA”要求置换3个字符,而只提供 “AA”2个字符,故只置换2个字符。置换后,a$为“aAAaaa”。

    ③如果不指定n,则将字符串2全部置换,如:MID$(a$,2)=“AAA”由于没有指定要置换的字符数,将“AAA”全部用于置换,置换后a$为:“aAAAaa”。如果是:MID$(a$,3)=“AAAAA”。由于a$从第3位置开始只有4个字符,因此,只取“AAAAA”中前4个字符去置换,a$的结果为:“aaAAA”。

    ④n的范围为0到255,p的范围为1到255。

     常用MID$语句来置换一个字符串的部分字符。请注意不要把MID$语句与MID$函数相混淆,MID$函数的值是一个字符串,而MID$语句是包含赋值号的,它能用来对字符串变量中某些字符位置赋值或置换字符串中指定的子串,请分析:

     PRINT MID$(a$,1,2) (此处是函数)

     MID$(a$,2,1)=“a” (此处是语句)

     但不能在一行中只单独出现MID$,如下面不是一个MID$语句:

     MID$(a$,2,1) (缺少赋值号及其右边的字符表达式)

    5.INSTR函数

     它的一般形式为:INSTR(n,<字符串1>,<字符串2>)

     从“字符串1”第n个位置开始找字符串2开始出现的位置。

     如:INSTR(3,a$,b$)

     作用是:从a$中第3个位置开始,找b$开始出现的位置。

     如果a$=“New China”,b$=“China”

    则INSTR(l,a$,b$)在字符串“New China”中找“China”,由于“China”开始出现在a的第5个位置,故INSTR(l,a$,b$)的函数值为5。

    ①如果b$不在a$中出现,则函数值为0。

    ②如果b$在a$中不止出现一次,则只指出第一次出现的位置。如:INSTR(l,“SHEET”,“E”)

     从第1个位置开始找“E”,有两个“E”,以第一次找到的为准,因此INSTR(3,“SHEET”,“E”)的值为3。

    ③INSTR函数括弧中第一个参数n可以不写,此时隐含认为n=l,即从头开始找。

    6.删除字符串首尾空格的函数

     LTRIM$(<字符串>)

     用来删除指定字符串中开头的连续空格字符。

     RTRIM$(<字符串>)

     用来删除指定的字符串尾部的连续空格字符。

     以上两个函数得到的都是指定的字符串的子串。

课堂提问:
问题

 


简单举例
例子
基础测试
测试