Delphi字符串截取的问题

需求:截取一个字符串字符串为:中国哈哈ABC[中国哈哈ABCD]按字符串中的[所在位置截取,需要截取得到的结果为:中国哈哈ABC... 需求:

截取一个字符串
字符串为:
中国哈哈ABC[中国哈哈ABCD]
按字符串中的 [ 所在位置截取,需要截取得到的结果为:
中国哈哈ABC
展开
 我来答
ch2001023
2013-04-10 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:120
采纳率:66%
帮助的人:83.4万
展开全部
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()这个方法了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
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字符,占两位
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tlgj2007
2013-04-10 · TA获得超过202个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:203万
展开全部
S:=copy(str,0,Pos('[',str)-1);这个也行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
羊人传阁
2013-04-10 · TA获得超过762个赞
知道小有建树答主
回答量:1424
采纳率:26%
帮助的人:283万
展开全部
S:=LeftStr(str,Pos('[',str));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式