第一部分 GeoGeo脚本基础 第3章 字符串表达式

来源:互联网 发布:mac的image文件夹在哪 编辑:程序博客网 时间:2024/06/16 04:23


3字符串表达式

GeoGeo提供了自有的字符串处理方式。字符串类型的声明和字符串数组已经在第1章进行了简单介绍。本章进一步介绍字符串表达式。

3.1字符串中的转义符

3.2.1字符串中的回车换行

字符串中的反斜线\后面跟随n或者r时转换为回车换行符“\n”或“\r”。

3.2.2字符串中的反斜线

文件目录路径等经常需要用到字符串中的反斜线\,需要双写“\\”。

3.2.3字符串中的双引号

双引号内通常用于标识字符串的开头和结尾,当串中需要使用双引号时,前面加上反斜线“\"”。

3.2字符串比较

字符串比较使用“==”操作符和“!=”操作符,用于比较两个字符串是否一致或者不一致。使用“==”操作符时,如果两个字符串完全一致,字符串比较表达式如果求值为真,返回一个非0值,否则返回0。使用“!=”操作符时,如果两个字符串不同,字符串比较表达式如果求值为真,返回一个非0值,否则返回0

字符串比较表达式经常用于条件跳转语句,如:

if(str1 == str2)

{

      ...   //执行条件满足时的语句

}

或者:

if(str1= str2)

{

      ...   //执行条件满足时的语句

}

注意:字符串变量不可使用除“==”操作符和“!=”操作符以外的比较操作符。

3.3字符串加

字符串相加是将两个字符串连接在一起,如:

STRING str1 = "GeoGeo";

STRING str2 = "脚本";

str1 = str1+str2;

相加的结果在str1中,值为“GeoGeo脚本”。

下面是一个字符串相加的示例代码:

程序清单3.1  3-1-字符串加.c

1 main(){

2   //字符串用类型名STRING声明,下面声明一个字符串类型的变量

3   STRING str;

4   //字符串常量用一对儿引号括起来,用=号为字符串变量赋值

5   str ="ABC";

6   //字符串中的反斜线\后面跟随n或者r时转换为回车换行符

7   STRING str1 ="GeoGeo脚本语言\n";

8   STRING str2;

9   str2 ="沈阳农业大学应用气象系\r李国春";

10  intn = MessageBox(str1+str2);

11  //字符串中需要反斜线\时需要双写"\\"

12  str2 = str2 +"\nC:\\MyFolder\\MyFile.txt";

13  n = MessageBox(str1+str2);

14  //字符串中需要双引号时需要写在\后面\"

15  str2 = str2 +"\n\"Hello World!\"";

16  n = MessageBox(str1+str2);

17}

运行上述代码,在第10行输出:

3.1程序清单3.1输出结果

在第13行输出增加了一行:

C:\MyFolder\MyFile.txt

在第16行输出增加了一行:

"Hello World!"

3.4字符串减

字符串减使用减号“-”操作符,目的是将字符串内容裁减掉一部分。

3.4.1字符串与字符减

字符串与字符减表达式表示为:<字符串变量> =<来源字符串变量> -<字符>

将来源字符串变量自右向左搜索匹配字符,将匹配字符及其以后的所有字符减掉,赋值给字符串变量。例如从一个完整的文件路径名去掉文件扩展名:

程序清单3.2 3-2-字符串减.c

main(){

    //字符串与字符相减。注意是从右侧查找,减去匹配字符右侧的所有字符。

    STRING  str[4];

    str[0] ="C:\\MyFolder\\MyFile.txt";

    BYTEch ='.';

    str[1] = str[0] - ch;//将文件路径中的.txt去掉

    ch ='\\';

    str[2] = str[0] - ch;//只保留路径名

    //循环查找,只保留驱动器号。

    STRING s;

    str[3] = str[0];

    do{

        s = str[3];

        str[3] = str[3] - ch;

    }while(s!= str[3]);

    //输出结果。

    inti;

    for(i=0;i<4; i=i+1){

        Print(str[i]);

    }

}

上述代码运行后的输出结果为:

C:\MyFolder\MyFile.txt

C:\MyFolder\MyFile

C:\MyFolder

C:

3.4.2字符串与字符串减

字符串与字符串减表达式表示为:<字符串变量> =<来源字符串变量> -<目标字符串变量>

将来源字符串变量自左向右搜索匹配子字符串,将匹配子字符串及其以后的所有字符减掉,赋值给字符串变量。如:

str1 ="C:\\MyFolder\\MyFile.txt";

str2 = "MyFolder";

str1 = str1 - str2;

输出结果为:

C:\

3.5字符串取余

字符串取余定义为与字符串减相对应的操作,保留字符串减操作中被减掉的部分。字符串取余使用百分号“%”操作符。

3.5.1字符串与字符取余

字符串与字符取余表达式表示为:<字符串变量> =<来源字符串变量> %<字符>

将来源字符串变量自右向左搜索匹配字符,将匹配字符及其以前的所有字符去掉,保留匹配字符之后的部分字符串。例如从一个完整的文件路径名提取文件名:

程序清单3.3 字符串取余.c

main(){

   STRINGstr = "C:\\MyFolder\\MyFile.txt";

   BYTE  ch = '\\';

   str = str % ch;

   Print(str);

}

输出结果为:

MyFile.txt

3.5.2字符串与字符串取余

字符串与字符取余表达式表示为:<字符串变量> =<来源字符串变量> %<字符串>

将来源字符串变量自左向右搜索匹配子字符串,将匹配子字符串及其以前的所有字符去掉,赋值给字符串变量。

3.6本章小结

1.字符串可以使用转义符,类似C中的转义符。

2.可以使用 ==直接进行字符串比较。

3.可以使用 +操作符直接将2个字符串合并成1个字符串。

4.字符串(来源字符串)可以直接使用操作符与一个字符或者字符串(目标字符串)相减。相减的结果保留来源串自左至右第一次与目标串匹配的左侧部分。

5.来源字符串也可以直接使用 %操作符与一个字符或者目标字符串取余。取余的结果保留来源串自右至左第一次与目标串匹配的右侧部分。

 

下载地址:http://download.csdn.net/detail/gordon3000/7922555 

0 0
原创粉丝点击