30:如何获取中间的字符串 ( 积分: 30 )

  • 主题发起人 主题发起人 zqssoft
  • 开始时间 开始时间
Z

zqssoft

Unregistered / Unconfirmed
GUEST, unregistred user!
下面为Memo1中的文字内容,请问:
怎么可以获取这段字符串中的“你好”两字。求方法,谢谢。

中华人民共和国 | 立场

我是中国人 关于结果



立场方钢
文字服务: 一二三的小生:
myname is lily 你好
我的回答
我爱中国人
 
循环读取每一行,再进行判断就可以了。
 
var i:integer;
begin
for i:=0 to memo1.Lines.count-1 do
begin
spos := Pos('你好',memo1.Lines.Strings);
if spos>0 then
begin
//这样子行不行?
end;
end;
end;
 
var
I:Integer;
begin
for i:=0 to Memo1.lines.count-1 do
if Pos('你好',memo1.Lines.Strings)>0 then
ShowMessage('在第' + IntToStr(I+1) +'行,找到你好');
end;
 
题意不清。
function GetNiHao: string;
begin
result:='你好';
end;
 
上面的不是我要的,我要的是根据你好前后位置的字符串来提取出你好.
而不是要你直接写result:=你好 .
这样是治表不治本,如果是这样的话.
那我再换一段文本呢,你还这样做吗,
唉.
 
关键是你的问题没有提清楚,别人如何做答?
 
前面解释了,仅仅查找的话,直接pos,要操作的话,循环pos
 
您的依據好像只有‘你好’,其前後可以確定嗎
 
上面的不是我要的,[red]我要的是根据你好前后位置的字符串来提取出你好.[/red]
而不是要你直接写result:=你好 .
这样是治表不治本,如果是这样的话.
那我再换一段文本呢,你还这样做吗,
唉.

你好的前后位置确定?
 
能否用delimitedtext将字符串按分格符打散一下再取呢?
 
写个函数,把要找的带到函数里,你怎么变都能找到啊
 
对你的问题没有具体的例子,不完全明白,能否来一个实例
 
楼主应学一学写需求文档的能力
 
哈哈,好啊
 
楼主...
我实在无语
你根本没有把问题说清楚:哪些条件是固定的,哪些是可变的,要根据哪些条件、希望通过哪些特征把目标找出来?
这些不说清楚没有人能帮你!
 
比如说,两个字符串的位置已知。
A字符串位置为60,B字符串位置为128。
求字符串A和B之间的字符串。
这下可明白了吧。
 
copy(Mystring,60+length(A)+1,127);
Mystring是源串,这样可以查出.
 
谢谢,结贴。
 
就是啊
把问题说清楚马上就解决了,
祝好运 :)
 
后退
顶部