怎样从一个字符串获取某个子串的后面的字符串,且这个子串不在第一位?
例如字符串为abcdabe,子串为ab,则获取e(因为abcdabe开头为ab,所以截取第二个ab后面的);
字符串为abbcc,子串为bb,则获取cc
例如字符串为abcdabe,子串为ab,则获取e(因为abcdabe开头为ab,所以截取第二个ab后面的);
字符串为abbcc,子串为bb,则获取cc
解决方案 »
- 多线程http post的问题
- 请问只用一条SQL从下面的这个ORACEL的表QIANZGL中选出SER_NUM不重复的记录吗?默认的第一个出现的SER_NUM
- 用StrToDate把字符串变时间的问题
- 如何在ADOQUERY中建新字段
- 怎么样把一个目录下面的所有的mp3文件的目录掉到listbox中
- 发布新软件 散分谢天下
- 请高手帮我看一下关于预览的程序!!
- 请问下众位大神们,如何通过编程的方式来控制IIS7.5,操作系统是Windows 2008 Server
- 有没有delphi+sql编程 青岛的高手
- 我有一个数组1,2,3,4,5,要对数据表中一个字段进行插入,该字段已经存在1,2,3,怎么才能自动插入4,5呢
- delphi中怎样才能取得 SQLSever 2000中text 字段类型得值呢?
- edit 输入法
procedure TForm1.Button1Click(Sender: TObject);
var
sub,str: string;
Index: Integer;
begin
sub := 'bb';
str := 'abbcc';
Index := Pos(sub,copy(str,2,Length(str)-1));
ShowMessage(Copy(str,Index+1+Length(sub),Length(str)-Index));
end;
function GetSubStr(const S, Sub: string): string;
var
iOffset: Integer;
iPos: Integer;
iSubLen: Integer;
begin
iOffSet := 0;
iSubLen := Length(Sub);
iPos := Pos(Sub, S);
while iPos > 0 do
begin
iOffSet := iPos + iSubLen;
iPos := PosEx(Sub, S, iOffSet);
end;
Result := Copy(S, iOffSet, Length(S) - iOffSet + 1);
end;
var
idx: integer;
begin
abcdabe := 'abcdabe';
ab := 'ab';
idx := Pos(pchar(@abcdabe[2]), ab);
if (idx>0) then
begin
idx := idx + Length(ab) + 1;
result := Copy(abcdabe, idx, Length(abcdabe)-idx+1);
end;
end;
idx := Pos(ab pchar(@abcdabe[2]));
var
iPos: Integer;
iSubLen: Integer;
begin
Result := S;
iSubLen := Length(Sub);
iPos := Pos(Sub, Result);
while iPos > 0 do
begin
Delete(Result, 1, iPos + iSubLen-1);
iPos := Pos(Sub, Result);
end;
end;