RRU*_*RUZ 29
尝试作为LastDelimiter
SysUtils单元一部分的功能.
And*_*and 18
RRUZ回答了实际问题(他给你一个RTL功能).
尽管如此,我还是不能完全拒绝提供一个简单的代码片段,它可以满足您的需求:
function LastCharPos(const S: string; const Chr: char): integer;
var
i: Integer;
begin
result := 0;
for i := length(S) downto 1 do
if S[i] = Chr then
Exit(i);
end;
Run Code Online (Sandbox Code Playgroud)
由于这完全符合您的要求并且不提供其他功能,因此它更加紧凑(特别是当我们使用Exit(Result)
Delphi 2009及更高版本的语法时)并且可能稍快一些.但是,在Delphi 2007中,您必须这样做
function LastCharPos(const S: string; const Chr: char): integer;
var
i: Integer;
begin
result := 0;
for i := length(S) downto 1 do
if S[i] = Chr then
begin
result := i;
break; // or Exit; if you prefer that
end;
end;
Run Code Online (Sandbox Code Playgroud)
Rob*_*edy 11
在SysUtils单元中使用StrRScan
或.后者,尽管它的名字,适用于在Delphi版本,其中Unicode字符是.(如果您仍需要"真正的"Ansi版本,请使用AnsiStrings单元.)AnsiStrRScan
string
UnicodeString
这些功能搜索的一个字符,而LastDelimiter
对于任何从可能性的列表给出几个字符的搜索-认为StrRScan
作为LastDelimiter
一个一个字符的优化Delimiters
参数.
归档时间: |
|
查看次数: |
26200 次 |
最近记录: |