主题:[求助]如何截取中文字符串,谢谢~!(急,在线等)
cavenaghi21
[专家分:0] 发布于 2006-06-23 12:11:00
如题,能否给出程序!
回复列表 (共8个回复)
沙发
hanwb2002 [专家分:1340] 发布于 2006-06-23 12:34:00
pos函数就应该能取
pos('截取的汉字',stringvar);
板凳
cavenaghi21 [专家分:0] 发布于 2006-06-23 12:54:00
用DELPHI啊,你说的是不行的
3 楼
hanwb2002 [专家分:1340] 发布于 2006-06-23 15:33:00
是delphi,它提示什么?怎么不行?我都试了行,你看看
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
I:Integer;
begin
if edit1.Text = '' then
begin
showmessage('文本框为空!');
exit
end
else
begin
s := edit1.Text;
I := pos('您好',s);
if I>0 then
begin
showmessage('文本框中有您好!');
end
else
begin
showmessage('文本框没有中有您好!');
end;
end;
end;
end.
4 楼
lzahn [专家分:50] 发布于 2006-06-25 17:37:00
用midstr函数
比如说temp:='delphi7.0';
k:=midstr(temp,2,2);
运行后k的值就是"id"
从第二位起数两位数.
5 楼
booksword [专家分:210] 发布于 2006-06-28 10:37:00
取一字是两个字节,你要取偶数个字节,
6 楼
mzy1982 [专家分:470] 发布于 2006-06-29 14:07:00
Pos(substr,string);//返回的是string变量中substr所在的位置
例如:Pos('abc','123abc456');返回的就是4,即'abc'中的'a'所在位置
然后用
Copy(string,postion,length);//来获得string变量中,从postion开始,length个字节长的子串,这里要注意一个汉字是2个字节.
例如:Copy('abcdefg',3,3);//返回的就是'cde'
如果是Copy('你好',1,2);//返回的就是你
如果是Copy('我不好',2,3);//就应该是'不*'(*处代表乱码),或者报错.
7 楼
天天向上好 [专家分:20] 发布于 2006-08-22 15:13:00
感谢!
8 楼
changyin [专家分:150] 发布于 2006-08-23 08:15:00
procedure TForm1.Button1Click(Sender: Tobject);
var s:string;
I,e,c:integer;
begin
s:=memo1.text;
e:=0;c:=0;
for I:=1 to length(s) do
begin
if (ord(s[I])>=33)and(ord(s[I])<=126) then
begin
inc(e);
label1.caption:='英文字数:'+inttostr(e);
end
else
if (ord(s[I])>=127) then
begin
inc(c);
label2.caption:='中文字数:'+inttostr(c div 2);
end;
end;
end;
我来回复