对字符串及数组的操作,是每个程序员必须要掌握的。熟练的使用这些函数,在编程时能更加得心应手。

  1.Copy
  功能说明:该函数用于从字符串中复制指定范围中的字符。该函数有3个参数。第一个参数是数据源(即被复制的字符串),第二个参数是从字符串某一处开始复制,第三个参数是要复制字符串的长度(即个数)。最后函数返回一个新的字符串(即是我们指定要复制的字符串内容)。

  参考实例:

  var

    S: String;

    MyStr: String; // 保存新的字符串

  begin

    S := 'I Love China!';

  //下面将获取I Love China中的“Love”字符串。

  MyStr := Copy(S, 3, 4);

  end;

  执行结果,MyStr等于“Love”,“Love”字符串在“I Love China!”中第3个位置开始,所以第二个参数为3,“Love”一共有4个字符,所以第三个参数为4。

  2.Concat
  功能说明:连接两个或多个字符串为一个字符串。

  参考实例:

  var

    S1, S2: String;

  begin

    S1 := Concat('A', 'B'); // 连接两个字符串,S1变量等于AB。

    S2 := Concat('Borland', ' Delphi', ' 7.0'); // 连接三个字符,S2变量等于Borland Delphi 7.0。

  end;

  3.Delete
  功能说明:删除字符串中指定的字符串。该函数有三个参数。第一个参数为要进行处理的字符串,第二个参数为从何处开始删除,第三个参数为删除的字符个数。

  参考实例:

  var

    S: String;

  begin

    S := 'I Like Reading CPCW.';

    // 下面的代码将删除S变量中的“C”字符。

    Delete(S, 16, 1);

  end;

  此时S变量则是I Like Reading PCW.(“C”已经不存在了)。

  4.High
  功能说明:返回数组下标的最大值。

  参考实例:

  var

    arrText: array[0..9] of Char;

    i: Integer;

  begin

    i := High(arrText); // i的值则为9

  end;

  5.Insert
  功能说明:插入一个字符(串)。该函数有三个参数。第一个参数为要插入的字符(串),第二个参数为被插入字符串(源字符串),第三个参数为从何处插入。

  参考实例:

  var

    S: String;

  begin

    S := 'Wat is your name?';

    // 上面句子中的What单词查一个“h”字符,下面使用Insert函数将h添加进去。

    Insert('h', S, 2); // 将“h”从第2位处插入。

  end;

  6.LeftStr(所在单元:StrUtils)
  功能说明:返回字符串左边指定个数的新字符(串)。该函数有两个参数。第一个参数为完整的字符串,第二个参数为指定个数。

  参考实例:

  var

    S, A: String;

  begin

    S := 'MSN Messenger';

   A := LeftStr(S, 3); // 从最左边开始,获取左边的三个字符。因此A变量则等于MSN。

  end;

  7.Length
  功能说明:该函数用于统计指定字符串的长度(即个数)。

  参考实例:

  var

  nLen1, nLen2: Integer; // 用于保存字符串长度

  begin

    nLen1 := Length('CPCW');

  nLen2 := Length('电脑报');

  end;

  执行结果,nLen1等于4,nLen2等于6。由于一个汉字相当于两个字符的长度,所以3个汉字的长度为6。

  8.Low
  功能说明:返回数组下标的最小值。

  参考实例:

  var

    arrText: array[1..9] of Char;

    i: Integer;

  begin

    i:= High(arrText); // i的值则为1

  end;

  9.LowerCase
  功能说明:将字符(串)中的英文字符转换为小写。

  参考实例:

  var

    S, A: String;

  begin

    S := 'ABC';

    A := UpperCase(S); // 经过UpperCase函数转换后,A则等于abc。

  end;

  10.MidStr(所在单元:StrUtils)
  功能说明:返回指定范围内的字符串。该函数有三个参数。第一个参数为源字符串,第二个参数为起点,第三个参数为结束点。通过第二、第三个参数则可指定要复制字符串的范围。

  Copy函数与此函数类似。MidStr主要用于处理含有中文字符的字符串。

  参考实例:

  var

    S: String;

    H: String;

  begin

    S := MidStr('China', 1, 2); // S变量为Ch

    H := MidStr('电脑报', 1, 1); // H变量为“电”。如果使用Copy函数,则应是H := Copy('电脑报, 1, 2),否则返回的将不是“电”字。因此在使用操作含有中文的字符串时,最好使用MidStr。

  end;

  11.Pos
  功能说明:查找字符(串)所在位置。该函数有二个参数。第一个参数为要查找的字符(串),第二个参数为被查找字符(串)。

  参考实例:

  var

    nPos: Integer; // 用于保存查找的字符所在位置

  begin

    nPos := Pos('Like', 'I Like Reading!');

  end;

  此时nPos等于3。如果没有查找到,则nPos为0。

  注意:Pos函数在查找时是要区分字符大小的。如果要实现不区分大小,那么需要使用UpperCase或LowerCase函数将两个参数的字符(串)转换为“大写”或“小写”再进行查找。

  另外还有一个查找字符(串)的函数----AnsiPos,该函数的使用方法与Pos函数完全一样。当你查找的是汉字时,最好使用AnsiPos函数。

  12.RightStr(所在单元:StrUtils)
  功能说明:返回字符串右边指定个数的新字符(串)。该函数有两个参数。第一个参数为完整的字符串,第二个参数为指定个数。

  参考实例:

  var

    S, A: String;

  begin

    S := 'MSN Messenger';

    A := RightStr(S, 3); // 从最右边开始,获取右边的三个字符。因此A变量则等于ger。

  end;

  13.SetLength
  功能说明:设置字符串或动态数组长度。该函数有两个参数。第一个参数为要设置的字符串变量或动态数组变量,第二个参数为指定的长度,其取值范围在0到255之间。

  参考实例:

  var

    S: String;

    arrText: array of Char; // 定义一个动态数组

  begin

    SetLength(S, 10); // 当设置后,S变量只能赋值长度为10的字符串。

    SetLength(arrText, 10); // 只有使用SetLength为动态数组分配内存空间后才能使用动态数组。这句代码的作用相当于arrText: array[0..9] of Char

  end;

  14.StrPCopy
  功能说明:将字符串复制到字符数组中。该函数有两个参数。第一个参数为“目标数组”,第二个参数为“字符串”。

  参考实例:

  var

    arrChar: array[0..255] of Char; // 这里声明了长度为256的Char型数组

  begin

    StrPCopy(arrChar, 'Come on, baby!');

  end;

  15.Trim
  功能说明:删除字符串左右两边的空格(无论左右两边有多少个空格均被全部删除)。

  参考实例:

  var

    S: String;

  begin

    S := ' Delphi 7.0 ';

    S := Trim(S);

  end;

  16.TrimLeft
  功能说明:删除字符串左边的空格(无论左边有多少个空格均被全部删除)。

  参考实例:

    S := TrimLeft(' Delphi');

  17.TrimRight
  功能说明:删除字符串左边的空格(无论左边有多少个空格均被全部删除)。

  参考实例:

    S := TrimRight('Delphi ');

  18.UpperCase
  功能说明:将字符(串)中的英文字符转换为大写。

  参考实例:

  var

    S, A: String;

  begin

    S := 'abc';

    A := UpperCase(S); // 经过UpperCase函数转换后,A则等于ABC。

  end;

http://www.cnblogs.com/toosuo/archive/2007/12/17/1001414.html

字符串、数组操作函数 Copy Concat Delete Insert High MidStr Pos SetLength StrPCopy TrimLeft的更多相关文章

  1. JavaScript中常见的数组操作函数及用法

    JavaScript中常见的数组操作函数及用法 昨天写了个帖子,汇总了下常见的JavaScript中的字符串操作函数及用法.今天正好有时间,也去把JavaScript中常见的数组操作函数及用法总结一下 ...

  2. JavaScript 数组操作函数--转载+格式整理

    JavaScript 数组操作函数(部分)--转载+格式整理 今天看了一篇文章,主要讲的对常用的Js操作函数:push,pop,join,shift,unshift,slice,splice,conc ...

  3. 初探numpy——广播和数组操作函数

    numpy广播(Broadcast) 若数组a,b形状相同,即a.shape==b.shape,那么a+b,a*b的结果就是对应数位的运算 import numpy as np a=np.array( ...

  4. js 数组操作函数有:push,pop,join,shift,unshift,slice,splice,concat

    (1)push 和 pop 这两个函数都是对数组从尾部进行压入或弹出操作.push(arg1,arg2,...)可以每次压入一个或多个元素,并返回更新后的数组长度.注意如果参数也是数组的话,则是将全部 ...

  5. JS 常用字符串,数组操作

    JavaScript String/Array对象 JS String对象   String 对象属性 属性 描述 constructor 对创建该对象的函数的引用 length 字符串的长度 pro ...

  6. PHP常用字符串的操作函数

    字符串转换类函数 addcslashes函数:以C语言风格使用反斜线转义字符串中的字符 addslashes函数:使用反斜线引用字符串 chop函数:清除字符串中的连续空格 get_html_tran ...

  7. php中数组操作函数

    一.数组操作的基本函数数组的键名和值array_values($arr);  获得数组的值array_keys($arr);  获得数组的键名array_flip($arr);  数组中的值与键名互换 ...

  8. Javascript-常用字符串数组操作

    字符串的操作在编写Js的过程中是不可避免的 因为它太多的API 还有相似的API让我们很头痛 为了避免以后遇到模拟两可的问题 还是做个笔记比较好 把常用的字符串操作记录下来成笔记 方便以后查找 No1 ...

  9. javaScript中关于字符串的操作函数和方法

    1.字符串转换 toString():可以将任何类型的数据都转换为字符串 var num= 19; //19 var myStr = num.toString(); //"19" ...

随机推荐

  1. Android MagicIndicator系列之一 —— 使用MagicIndicator打造千变万化的ViewPager指示器

    说到 ViewPager 指示器,想必大家都不陌生,绝大部分应用中都有这个.使用频率非常之高.但系统对它的支持并不好,自带的 PagerTabStrip 和 PagerTitleStrip 太弱,很难 ...

  2. 【u027】神秘大三角

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 判断一个点与已知三角形的位置关系. [输入格式] 前三行:每行一个坐标,表示该三角形的三个顶点 第四行 ...

  3. [React] Pass Data To Event Handlers with Partial Function Application

    In this lesson we’ll see how to pass an item’s id value in an event handler and get the state to ref ...

  4. POJ 1985 - 树的直径

    传送门 题目大意 给一颗n个点的树,求树的直径(最长的一条链) 题解 先随便找一个点u,dfs出离它最远的点v 于是有以下情况: 直径就是这条链 直径经过u,是这条链的延长 直径不经过u 只需要从v再 ...

  5. 【noip模拟】Fancy Signal Translate (暴力 + 哈希)

    题目描述 FST是一名可怜的 OIer,他很强,但是经常 fst,所以 rating 一直低迷. 但是重点在于,他真的很强!他发明了一种奇特的加密方式,这种加密方式只有OIer才能破解. 这种加密方式 ...

  6. Qt 元对象系统(Meta-Object System)(不管是否使用信号槽,都推荐使用)

    Qt 元对象系统(Meta-Object System) Qt的元对象系统基于如下三件事情: 类:QObject,为所有需要利用原对象系统的对象提供了一个基类. 宏:Q_OBJECT,通常可以声明在类 ...

  7. 【Struts2学习笔记(4)】指定需要Struts 2请求后缀的常量定义复杂的过程

    一.指定需要Struts 2请求后缀处理 我们是在违约前.action后缀访问Action. 事实上默认后缀是通过不断"struts.action.extension"进行更改.例 ...

  8. Light libraries是一组通用的C基础库,目标是为减少重复造轮子而写(全部用POSIX C实现)

    Light libraries是一组通用的C基础库,目标是为减少重复造轮子而写实现了日志.原子操作.哈希字典.红黑树.动态库加载.线程.锁操作.配置文件.os适配层.事件驱动.工作队列.RPC.IPC ...

  9. 使用UISegementControl实现简易Tomcat程序

    // // TomViewController.m #import "TomViewController.h" #import <AVFoundation/AVFoundat ...

  10. .net remoting 抛出异常

    原文:.net remoting 抛出异常 本文告诉大家如何在使用 .net remoting 的时候,抛出异常. 所有在远程软件运行的类,如果需要传输到本地,都需要继承 MarshalByRefOb ...