我现在把sql里的帖子导入到mysql里 但是sql里的帖子内容有很多稀奇古怪的字符 我想把这些字符过滤掉 只保留汉字 然后插入到mysql里 怎么过滤掉呀?
解决方案 »
- 如何获取access数据库中表的行数
- 求计算一张图片上4个圆心的方法
- ------------------------------求IIS几个属性------------------
- 如何用C#读取pdf文件
- OWC中空字符串的问题
- Asp.Net Forums中的AspNetForums.Components.dll
- 谁用c#做过taobao的登陆程序
- 我面临一个选择C#还是JAVA的问题,大家帮帮我1
- 删除被绑定了时间字段的TEXTBOX时间问题?
- 菜鸟的问题:一般指的三层是什么意思?在.net中有什么技术可以实现??
- 在MDI中,总是同时打开了两个窗口??
- 两窗体间传值,但取得的值为空(原值为非空字符串)
string pattern = @"^[\u300a\u300b]|[\u4e00-\u9fa5]|[\uFF00-\uFFEF]";
string str = "dfa#445发了*(*&*^e4444";
if (System.Text.RegularExpressions.Regex.IsMatch(str, pattern))
{
System.Text.RegularExpressions.Match m = System.Text.RegularExpressions.Regex.Match(str, pattern);
this.d.Text+= m.Value+m.NextMatch(); }
string str = "dfa#445发了*(*&*^e4444";
if (System.Text.RegularExpressions.Regex.IsMatch(str, pattern))
{
//提示的代码在这里写
System.Text.RegularExpressions.Match m =
System.Text.RegularExpressions.Regex.Match(str, pattern);
string v="";
while (m.Success)
{
v+=m.Value;
m = m.NextMatch();
}
}
删除汉字:CREATE FUNCTION DeleteHZ (@cargoname varchar(512))
RETURNS varchar(512)
AS
BEGIN
DECLARE @Result varchar(512)
declare @sno smallint
select @Result=''
select @sno=1
while(@sno<=datalength(@cargoname))
begin
if datalength(SUBSTRING(@cargoname,@sno, 1))=1
set @Result=@Result+SUBSTRING(@cargoname,@sno, 1)
set @sno=@sno+1
end
RETURN(@Result)
ENDselect dbo.DeleteHZ(JobPosition) from PRC_PersonalInfo---Result---CUSTOMS CUSTOMS報關員 删除字符:CREATE FUNCTION DeleteEN (@cargoname varchar(512))
RETURNS varchar(512)
AS
BEGIN
DECLARE @Result varchar(512)
declare @sno smallint
select @Result=''
select @sno=1
while(@sno<=datalength(@cargoname))
begin
if datalength(SUBSTRING(@cargoname,@sno, 1))=2
set @Result=@Result+SUBSTRING(@cargoname,@sno, 1)
set @sno=@sno+1
end
RETURN(@Result) 替换SQL中的全角数字为半角数字create function Ufn_convertWideNumericToAnsi
(
@vstrIn varchar(1000)
)
returns varchar(4000)
as
begin
declare @strReturn varchar(4000)
,@bin varbinary(4000)
,@str varchar(4000)
,@stmp varchar(4)
,@i int
,@len int
-- ,@vstrIn varchar(1000)
--set @vstrIn ='031851001845'
set @strReturn=''
set @bin=convert(varbinary(4000),@vstrIn)
exec master..xp_varbintohexstr @bin, @str out
select @str=stuff(@str,1,2,'')
set @len=len(@str)
set @i=1
while @i<@len
begin
set @stmp = substring(@str,@i,4)
if(substring(@stmp,1,1) <> 'A')
return @vstrIn
set @stmp = replace(@stmp,'A','')
set @stmp = replace(@stmp,'B','')
--print @stmp
set @stmp = cast((convert(int,@stmp)-30) as varchar(1))
set @strReturn = @strReturn + @stmp
set @i=@i+4
end
--print @strReturn
return @strReturn
end 示例select '031851001845' as ORG, dbo.ufn_convertWideNumericToAnsi('031851001845') DES
ORG DES
------------------------ ---------------------------
031851001845 031851001845