如何把一句话的标点符号去掉?(50分)

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

zhoudang

Unregistered / Unconfirmed
GUEST, unregistred user!
比如把"你是谁?李铁吗?"这句话变成"你是谁李铁"
 
查找你要删除的符号, 找到后删除!
用Pos('?',"你是谁?李铁吗?") 然后Delete('?');
 
to wcwcw:
整个程序如何写阿?如果不知道这句话里面有什么标点符号呢?
 
把所有的标点符号放在一个列表中,一个个的比较,如果在列表中就忽略呀
 
procedure TFmUse_def.Button1Click(Sender: TObject);
var
s: string;
i: Integer;
begin
s := '你是谁?李铁吗?';
repeat
i := pos('?',s);
if i > 0 then
Delete(s, i, 2);
until
i = 0;
ShowMessage(s);
end;
 
不要这么累。
你先查看一下标点的asc码的码值,它们一定和普通字符不一样。
做一段代码,读每一句中的每一个字,取出码值。如符合标点的特征就删了它。
 
to kifo
如果是对方用了输入法的话,标点符号是2个ASC码,还是用pos()配合一个TStringList
比较好。
 
代码如下,你只需把要去掉的标点符号加入到str1中,利用下面的方法进行判定,结果保存
在str2中
procedure TForm1.Button1Click(Sender: TObject);
var
str,str1,str2:string;
i:integer;
begin
str:='i?love;delphi.are you?';
str1:='?;.';
str2:='';
for i:=1 to length(str)do
if not isdelimiter(str1,str,i) then
str2:=str2+str;
showmessage(str2);
end;
 
to bianlx:
在ASP中如何实现呢?
 
循环中替换掉,同意bianlx,
 
在asp中如何实现呢?
 
delphi实现:
const
str='你是谁?李铁吗?';
var
str1:string;
begin
str1:= StringReplace(str,'?','',[rfReplaceAll]);
end;
 
c#实现:
using System;

class StringExample
{
public static void Main()
{
string s1 = "你是谁?李铁吗?";
s1=s1.Replace("?","");

Console.WriteLine("s1 is:"+s1);
}
}
 
有谁能告诉我如何在ASP中实现吗?
 
在ASP中可以调用VB的函数来做到
 
最好把string转换为widestring,那样什么字符都可以替换了。
 
谢谢各位了,在ASP中这样就可以了:REPLACE("SDF,.",",","")就可以了
 

Similar threads

回复
0
查看
813
不得闲
S
回复
0
查看
681
SUNSTONE的Delphi笔记
S
S
回复
0
查看
768
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部