Linyee编程专栏

灵异生存 jiaguoxinzhi CSDN_Blog,涉及各种编程

字符/单词提取与过滤

http://community.csdn.net/Expert/topic/5760/5760639.xml?temp=.3635828

解此题得总结出的一段代码。备用 

 

<!--
模拟1W条记录,速度过得去。
本法按允许集中查找待处理单词,如果允许集中存在那么就取出.最终得到一串待处理字串中含有的所有允许单词.
若还有看不明白的地方,请指出来,我再加注.总不能搞得每行加注吧?!我可没写过教程,难度很大的.
-->
<%
Dim     rtype,strA
rtype    =lcase(trim(request("rtype")))    ''字符串类别
strA    =trim(request("strA"))  ''要处理的字串.
''调试代码
rtype    ="word" ''字符串以限制为word
rtype    ="number" ''字符串以限制为数值
rtype    =""  ''字符串以限制为字母
strA    ="abcdef 123 abcd 1234567 d abcdef 1234567 a asdf abcdef 1234 ab"
''============调试结束,以上代码非调试时请删除.
''不同类型分别处理
select case rtype
case "word": ''字符串以限制为word
    response.Write(checkWords(strA))
case "number": ''字符串以限制为数值
    response.Write(checkNumbers(strA))
case else:  ''字符串以限制为字母,默认类别
    response.Write(checkAz(strA))
end select
''字母处理函数
Function checkAz(vNewStr)
    Dim     tmp_str,tmp_arr,tmp_strB,tmp_arr_up,tmp_i
 ''待处理字串生成数组
    tmp_str    =vNewStr
    tmp_arr    =split(tmp_str," ")
    tmp_arr_up    =ubound(tmp_arr)
   
    ''模拟取出允许集
    tmp_strB=" a b c d "
   
 ''待处理字串中的单词在允许集中存在则提取出来.
    checkAz=""
    for tmp_i=0 to tmp_arr_up
        if instr(tmp_strB," "&tmp_arr(tmp_i)&" ")>0 then
            checkAz=checkAz&" "&tmp_arr(tmp_i)
        end if
    next
 ''返回值
    checkAz    =ltrim(checkAz)
End Function
''数字处理函数
Function checkNumbers(vNewStr)
    Dim     tmp_str,tmp_arr,tmp_strB,tmp_arr_up,tmp_i
 ''待处理字串生成数组
    tmp_str    =vNewStr
    tmp_arr    =split(tmp_str," ")
    tmp_arr_up    =ubound(tmp_arr)
   
    ''模拟取出允许集
    tmp_strB=" "
    for tmp_i=1 to 10000
        tmp_strB=tmp_strB&"1234567 "
    next
   
 ''待处理字串中的单词在允许集中存在则提取出来.
    checkNumbers=""
    for tmp_i=0 to tmp_arr_up
        if instr(tmp_strB," "&tmp_arr(tmp_i)&" ")>0 then
            checkNumbers=checkNumbers&" "&tmp_arr(tmp_i)
        end if
    next
 ''返回值
    checkNumbers    =ltrim(checkNumbers)
End Function
''单词处理函数
Function checkWords(vNewStr)
    Dim     tmp_str,tmp_arr,tmp_strB,tmp_arr_up,tmp_i
 ''待处理字串生成数组
    tmp_str    =vNewStr
    tmp_arr    =split(tmp_str," ")
    tmp_arr_up    =ubound(tmp_arr)
   
    ''模拟取出允许集
    tmp_strB=" "
    for tmp_i=1 to 10000
        tmp_strB=tmp_strB&"abcdef "
    next
   
 ''待处理字串中的单词在允许集中存在则提取出来.
    checkWords=""
    for tmp_i=0 to tmp_arr_up
        if instr(tmp_strB," "&tmp_arr(tmp_i)&" ")>0 then
            checkWords=checkWords&" "&tmp_arr(tmp_i)
        end if
    next
 ''返回值
    checkWords    =ltrim(checkWords)
End Function
%>

以上是提取,过滤更简单,请参考动网等论坛禁用语相关代码。

代码整理收集中...

 

 

 

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jiaguoxinzhi/article/details/1795369
文章标签: function up c
个人分类: web技术
想对作者说点什么? 我来说一句

字符过滤字符过滤字符过滤

2011年02月25日 4KB 下载

没有更多推荐了,返回首页

不良信息举报

字符/单词提取与过滤

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭