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

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

function LastPos(strFind :string; ch: Char): integer;
var
    i, n: integer;
begin
    Result := -1;
    if strFind=‘‘ then
    begin
        Exit;
    end;
    for i:=0 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[1]);
  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 > 0) and (S[i] <> C) do
        Dec(i);
    Result := i;
end;
时间: 2024-08-03 09:38:55

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

关于在字符串中查找某一个字符的位置的方法

一:准备 在程序的开始,我们可以确定使用一些知识点: indexof,lastIndexOf,StringBuilder. 二:程序 public class IndexOfDemo { @Test public void test1(){ String str="agyyayyaooea"; int posi,x=0; int lastPosi=str.lastIndexOf("a"); StringBuilder sb=new StringBuilder();

字符串去了最后一个字符

var str="1,2,3,4,5,"; var newstr=str.substring(0,str.length-1); alert(newstr);

Python3基础 for循环示例 输出一个字符串中的每一个字符

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: word='helloworld' for character in word: print(character,end=' ') #每个字母后加上一个空格 result: ============= RESTART: C:/Users/Administrator/Deskto

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

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

iOS判断字符串中含某一个字符if ([keyName rangeOfString:@&quot;_&quot;].location==NSNotFound) return keyName;

if ([keyName rangeOfString:@"_"].location==NSNotFound){ return keyName; } else{ NSLog(@"不存在某一字符"); }

获取你所查找字符串中的某一个字符的所在位置

//获取截取的第一个字符所在 int subA = jsonTest.LastIndexOf("["); //获取截取的第二个字符所在 int subB = jsonTest.LastIndexOf("]");

36.在字符串中删除特定的字符

http://zhedahht.blog.163.com/blog/static/25411174200801931426484/ 题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符.例如,输入"They are students."和"aeiou",则删除之后的第一个字符串变成"Thy r stdnts.". 分析:这是一道微软面试题.在微软的常见面试题中,与字符串相关的题目占了很大的一部分,因为写程序操作字符串能很好的反映我们的

去除字符串内的一些额外字符方法

在处理String对象时,有时候需要去除一些额外的字符,如:空格等 主要的方法: string.Trim() 常用 无参默认去除字符串两端的空格,多个空格也能一次性去掉:但是注意只是两段,内部无法控制!! string.Trim(char [])    当有多个特定字符需要去除的时候,用这种方法 string.TrimStart( char c) 不常用  针对字符串首端去除指定标记 string.TrimStart( char []) 针对字符串首端去除指定标记组 string.TrimEnd

检测字符串中是否含有非法字符js代码

检测字符串中是否含有非法字符js代码:通常情况下,网站输入的字符串内容是需要经过检测的,因为有些字符带有一定的危险性,会对站点带来一定的危害,下面就介绍一下如何检测一个字符串是否含有非法字符,代码如下: function checks(str){ szMsg="[#_%&'\",;:=!^]"; alertStr=""; for(i=1;i<szMsg.length+1;i++){ if(str.indexOf(szMsg.substring