Delphi字符串截取的问题
需求:截取一个字符串字符串为:中国哈哈ABC[中国哈哈ABCD]按字符串中的[所在位置截取,需要截取得到的结果为:中国哈哈ABC...
需求:
截取一个字符串
字符串为:
中国哈哈ABC[中国哈哈ABCD]
按字符串中的 [ 所在位置截取,需要截取得到的结果为:
中国哈哈ABC 展开
截取一个字符串
字符串为:
中国哈哈ABC[中国哈哈ABCD]
按字符串中的 [ 所在位置截取,需要截取得到的结果为:
中国哈哈ABC 展开
6个回答
展开全部
uses StrUtils;
const
cnsStart = '[';
cnsEnd = ']';
var
s: string;
iStart, iLen: Integer;
begin
s := '中国哈哈ABC[中国哈哈ABCD]';
iStart := StrUtils.PosEx(cnsStart, s) + 1; //起始位置
iLen := PosEx(cnsEnd, s, iStart) - iStart; //复制长度
ShowMessage(Copy(s, iStart, iLen));
end;
2013-04-10
展开全部
delphi的字符截取函数LeftStr, MidStr, RightStr
这几个函数都包含在StrUtils中,所以需要uses StrUtils;
假设字符串是 Dstr := ’Delphi is the BEST’, 那么
LeftStr(Dstr, 5) := ’Delph’
MidStr(Dstr, 6, 7) := ’i is th’
RightStr(Dstr, 6) := ’e BEST’
我不知道中文算几位,至于这个你自己去试了,总之是用MidStr()这个方法了
这几个函数都包含在StrUtils中,所以需要uses StrUtils;
假设字符串是 Dstr := ’Delphi is the BEST’, 那么
LeftStr(Dstr, 5) := ’Delph’
MidStr(Dstr, 6, 7) := ’i is th’
RightStr(Dstr, 6) := ’e BEST’
我不知道中文算几位,至于这个你自己去试了,总之是用MidStr()这个方法了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-10
展开全部
用 Pos 和 Copy 两个函数 就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-10
展开全部
procedure TForm1.Button1Click(Sender: TObject);
const
str: string = '中国哈哈ABC[中国哈哈ABCD]';
var
substr: string; //截取的字符串
begin
substr := copy(str, 0, 11);
ShowMessage(substr);
end;运行截图提醒一下, 中文属于unicode字符,占两位
const
str: string = '中国哈哈ABC[中国哈哈ABCD]';
var
substr: string; //截取的字符串
begin
substr := copy(str, 0, 11);
ShowMessage(substr);
end;运行截图提醒一下, 中文属于unicode字符,占两位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
S:=copy(str,0,Pos('[',str)-1);这个也行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
S:=LeftStr(str,Pos('[',str));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询