如何去掉字符串中的 英文 和 标点符号(包括全角的标点符号 )
例如:varstr:widestring;
str:=' 广 gd 东 。。@@@ 省';
想得到的结果如下:
'广东省'
例如:varstr:widestring;
str:=' 广 gd 东 。。@@@ 省';
想得到的结果如下:
'广东省'
解决方案 »
- 请教网页上打开自定义格式文件的控件原理
- 怎么用delphi写一个浏览文件对话框
- advstringgrid1的MergeCells功能
- 高分请教‘不可适用的操作’,‘记录已经锁定的在这会话’错误提示的含义?如何解决?
- 怎么样让桌面静止,好抓取控件截图?
- 用BDE配置了一个ODBC,运行后提示:工程project1.exe检测到错误类EDBEngineError,错误信息:Insufficient memory for this
- 两个初学者的问题!
- delphi有几个版本?
- 装Delphi6好象有点问题!
- WaveOutOpen的问题
- 在delphi7.0可以运行的程序在delphi8.0里就不行了,怎么回事啊???????????????????????
- 控制DBGrid的光标移动。
i : integer;
begin
s :=' 广 gd 东..@@@ 省';
for i:=0 to length(s) do
begin
if (ord(s[i])>128) then t:=t+s[i];
end;
showmessage(t);
end;
type
TChnChar = string[4];var
Sign: array [1..7] of String = ('a3ac','a1a3','a3bf','a3bb','a3ba','a1af','a1b1');function CharIsSign(Ch: TChnChar): Boolean;
var
i: integer;
begin
Result := False;
for i:=1 to 7 do
if Ch = Sign[i] then
begin
Result := True;
Exit;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
T: String;
Chn: TChnChar;
i: integer;
begin
S :=' hottey,你好吗”?';
T := '';
i := 1;
while i <= Length(S) do
begin
if (Ord(S[i]) > 128) then
begin
Chn := LowerCase(IntToHex(Ord(S[i]), 2) + IntToHex(Ord(S[i+1]), 2));
if CharIsSign(Chn) then
begin
Inc(i, 2);
Continue;
end else
T := T + S[i];
end;
Inc(i);
end;
ShowMessage(T);
end;//运行后得出结果: 你好吗
, 'a3ac'
。 'a1a3'
? 'a3bf'
; 'a3bb'
: 'a3ba'
‘ 'a1af'
“ 'a1b1'//CharIsSign判断是否为上述全角标点符号
hottey(孤独的探索者)(我是一强人)