已经好几次了,没有这个函数还是感觉很不方便,所以自己写了一个:

function LastPos(strFind :string; ch: Char): integer;
var
i, n: integer;
begin
Result := -;
if strFind='' then
begin
Exit;
end;
for i:=1 to Length(strFind) do
begin
if strFind[i]=ch then
Result := i;
end;
end; procedure TForm1.Button1Click(Sender: TObject);
var
s1: String;
begin
s1 := 'abc';
ShowMessage(s1[]);
ShowMessage(IntToStr(Length('/myaccount/save1/')));
ShowMessage(IntToStr(LastPos('/myaccount/save1/', '/')));
end;

当然,这里没有考虑效率和Unicode等问题,反正对D7比较好用。

另一个算法,看看别人怎么写的吧(倒序是非正常思路):

function LastPos(const S: string; C: Char): Integer;
var
i: Integer;
begin
i := Length(S);
while (i > ) and (S[i] <> C) do
Dec(i);
Result := i;
end;

自写的LastPos,寻找字符串里的最后一个字符,RTL里没有提供这个函数——Delphi的String下标是从1开始的的更多相关文章

  1. 如何使用jQuery从字符串中删除最后一个字符

    如何使用jQuery从字符串中删除最后一个字符 1.string.slice(0,-1) 2.str.substring(0,str.length-1)

  2. 字符串A转换到字符串B,只能一次一次转换,每次转换只能把字符串A中的一个字符全部转换成另一个字符,是否能够转换成功

    public class DemoTest { public static void main(String[] args) { System.)); } /** * 有一个字符串A 有一个字符串B ...

  3. php去掉字符串中的最后一个字符和汉字

    ###php去掉字符串中的最后一个字符和汉字 1.php去掉字符串中的最后一个字符: //方法一: $newstr = substr($str,0,strlen($str)-1); //方法二: $n ...

  4. 怎么利用javascript删除字符串中的最后一个字符呢?

    程序员就是每天在各种代码下不停的调试,世界买家网最近遇到了烦心事,是什么事情呢? 需求是一个字符串,想删除这个字符串最后一个字符,比如“1,2,3,4,5,”,删除最后一个“,”用javascript ...

  5. 389. Find the Difference 找出两个字符串中多余的一个字符

    [抄题]: Given two strings s and t which consist of only lowercase letters. String t is generated by ra ...

  6. 在js文件里调用另一个js文件里的函数

    这个是我今天解决的一个小问题,我在创建界面的时候,根据不同的界面需求对应创建了不同的js文件来搭建界面,搭建完毕之后再将各个生成页面的函数汇总到主界面上,通过visibility属性切换显示,这时候出 ...

  7. JS 去除字符串中的最后一个字符

    var str = 'Hello World!'; str = str.substr(0,str.length-1); alert(str);

  8. POJ:1961-Period(寻找字符串循环节)

    Period Time Limit: 3000MS Memory Limit: 30000K Description For each prefix of a given string S with ...

  9. 36.在字符串中删除特定的字符[Delete source from dest]

    [题目] 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符.例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”. ...

随机推荐

  1. Address already in use: JVM_Bind<null>:8080tomcat启动不了的问题

    在MyEclipse启动或者是tomcat启动的时候出现:Address already in use: JVM_Bind<null>:8080 出现该异常,这里的8080是你的端口,有可 ...

  2. 利用js闭包获取索引号

    以tab选项卡效果为例: 网页中的选项卡效果

  3. python-md5加密

    python实现:md5_hash.py #-*- coding: UTF-8 -*- ' __date__ = '2016/4/11' from Tkinter import * import ha ...

  4. linux下实现自己的shell解释器

    实现一个自己的shell解释器,其原理比较简单,首先获取用户的输入,通过fork()函数获取两个进程(父子进程),子进程通过execvp()函数继续进行,此时父进程一直在等待子进程的结束,待都结束了就 ...

  5. linux如何ARP嗅探 Linux下嗅探工具Dsniff安装记录

      先来下载依赖包 和一些必须要用到的工具 我这里用的是 dsniff-2.3 的版本 wget http://www.monkey.org/~dugsong/dsniff/dsniff-2.3.ta ...

  6. sed(转)

    第一部分:sed基础 1)简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内 ...

  7. nodejs学习笔记-1

    nodejs入门-安装 nodejs是什么,刚接触了一段时间,我自己也说不清楚它.按我个人的简单理解,nodejs就是一个javascript的解析器,它让javascript不在局限于浏览器客户端. ...

  8. 基于本地iso 搭建的本地yum源 安装部署openldap

    1,yum openldap-servers,openldap-clients 基于iso-cd1搭建的本地yum源(具体搭建参看ruige的repo本地快速搭建,在右边 找找看中输入repo key ...

  9. BZOJ 1024 SCOI 2009 生日快乐 深搜

    题目大意:有一块蛋糕,长为X,宽为Y.如今有n个人来分这块蛋糕,还要保证每一个人分的蛋糕的面积相等.求一种分法,使得全部的蛋糕的长边与短边的比值的最大值最小. 思路:刚拿到这个题并没有什么思路.可是定 ...

  10. C#编程建言笔记

    方法: 1.方法(静态或实例)JIT编译后,在内存中的代码段上都是一个全局函数,且只存在一份拷贝. 2.方法修饰符:保护级别,静态,虚函数:方法签名:返回值,函数名,参数. 构造器: 1.一个方法只能 ...