获取字符串中的指定位置的子字符串
2006-03-25 07:19
417 查看
获取字符串中的指定位置的子字符串,在MIF/MID文件中接触这样的字符串比较多,所以写成了一个函数,比较EASY。在VB6和Delphi7中测试通过。
'获取字符串中的指定位置的子字符串,VB6
'S:字符串;SubStr:指定的分隔符(一个字符);ii:指定的位置;GetSubStr:获得的字字符串
'eg:GetSubStr("123,456,789,123",",",3)结果为字符串789
Public Function GetSubStr(S As String, SubStr As String, ii As Integer) As String
Dim jj As Integer, TempInt As Integer
If InStr(1, S, SubStr, vbTextCompare) = 0 Then
GetSubStr = ""
Exit Function
End If
TempInt = 1
For jj = 1 To ii
If InStr(TempInt, S, SubStr, vbTextCompare) = 0 Then
If jj < ii Then
GetSubStr = ""
Else
GetSubStr = Mid(S, TempInt, Len(S) - TempInt + 1)
End If
Exit Function
End If
GetSubStr = Mid(S, TempInt, InStr(TempInt, S, SubStr, vbTextCompare) - TempInt)
TempInt = InStr(TempInt, S, SubStr, vbTextCompare) + 1
Next jj
End Function
//获取字符串中的子字符串,Delphi7
//S:字符串;SubStr:指定的分隔符(一个字符);Index:指定的位置;GetSubStr:获得的字字符串
//eg:GetSubStr('123,456,789,123',',',3)结果为字符串789
function GetSubStr(S : string;SubStr : Char;Index : integer):string;
var
TempStr : string;
I : integer;
begin
TempStr := S;
if Pos(SubStr,S)=0 then Result := ''
else begin
try
for I := 1 to Index - 1 do begin
if Pos(SubStr,TempStr) = 0 then begin
Result := '';
Exit;
end;
Delete(TempStr,1,Pos(SubStr,TempStr));
TempStr := Trim(TempStr);
end;
except
ShowMessage('Have not such Index!');
result := '';
Exit;
end;
if Pos(SubStr,TempStr)=0 then
Result := TempStr
else
Result := Copy(TempStr,1,Pos(SubStr,TempStr) - 1);
end;
end;
'获取字符串中的指定位置的子字符串,VB6
'S:字符串;SubStr:指定的分隔符(一个字符);ii:指定的位置;GetSubStr:获得的字字符串
'eg:GetSubStr("123,456,789,123",",",3)结果为字符串789
Public Function GetSubStr(S As String, SubStr As String, ii As Integer) As String
Dim jj As Integer, TempInt As Integer
If InStr(1, S, SubStr, vbTextCompare) = 0 Then
GetSubStr = ""
Exit Function
End If
TempInt = 1
For jj = 1 To ii
If InStr(TempInt, S, SubStr, vbTextCompare) = 0 Then
If jj < ii Then
GetSubStr = ""
Else
GetSubStr = Mid(S, TempInt, Len(S) - TempInt + 1)
End If
Exit Function
End If
GetSubStr = Mid(S, TempInt, InStr(TempInt, S, SubStr, vbTextCompare) - TempInt)
TempInt = InStr(TempInt, S, SubStr, vbTextCompare) + 1
Next jj
End Function
//获取字符串中的子字符串,Delphi7
//S:字符串;SubStr:指定的分隔符(一个字符);Index:指定的位置;GetSubStr:获得的字字符串
//eg:GetSubStr('123,456,789,123',',',3)结果为字符串789
function GetSubStr(S : string;SubStr : Char;Index : integer):string;
var
TempStr : string;
I : integer;
begin
TempStr := S;
if Pos(SubStr,S)=0 then Result := ''
else begin
try
for I := 1 to Index - 1 do begin
if Pos(SubStr,TempStr) = 0 then begin
Result := '';
Exit;
end;
Delete(TempStr,1,Pos(SubStr,TempStr));
TempStr := Trim(TempStr);
end;
except
ShowMessage('Have not such Index!');
result := '';
Exit;
end;
if Pos(SubStr,TempStr)=0 then
Result := TempStr
else
Result := Copy(TempStr,1,Pos(SubStr,TempStr) - 1);
end;
end;
相关文章推荐
- string字符串 获取指定位置范围的子字符串
- QT中QString 类的使用--获取指定字符位置、截取子字符串等
- PHP 在字符串中用数组下标的方法获取指定位置的值
- Excel获取字符串中指定字符的最后(靠右)位置
- C#,.net获取字符串中指定字符串的个数、所在位置与替换字符串
- js获取一个字符串中指定字符串第n次出现的位置
- C#从字符串中指定位置移除子字符串的方法
- QT中QString 类的使用--获取指定字符位置、截取子字符串等
- 请用charAt获取javascript获取字符串指定位置字符
- CString 字符串 按指定字符 分隔 获取第n段的子字符串
- 获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数
- 按指定分隔符分割数据与从字符串指定位置返回子字符串
- string字符串 获取指定位置范围的子字符串
- 获取字符串中指定字符最后一次出现的位置
- QT中QString 类的使用--获取指定字符位置、截取子字符串等
- c split 函数 分割字符串 获取指定index的子字符串
- QT中QString 类的使用--获取指定字符位置、截取子字符串等
- C语言版字符串中获得子串的函数,获取字符串中指定位置的子串
- 获取字符串中某个指定的子串出现的开始位置(CHARINDEX用法)
- QT中QString 类的使用--获取指定字符位置、截取子字符串等