字符/单词提取与过滤

原创 2007年09月21日 22:31:00

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
%>

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

代码整理收集中...

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

500. Keyboard Row(判断单词能否由键盘上的某一行字符表示)

Given a List of words, return the words that can be typed using letters of alphabet on only one row'...

05:统计单词数 [C语言字符数组的应用]

05:统计单词数 [C语言字符数组的应用] 总时间限制:  1000ms 内存限制: 65536kB 描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定...

输入一行字符,统计单词个数

#include int main() { char string[81]; int i; int num=0;//统计单词个数 int word=0;//word=0表示未出现新单词;Wor...

CSS 类名的单词连字符:下划线还是横杠?

本文转载自 cssmagic,原文链接:Click me 本文的部分内容整理自我对此问题的解答: 命名 CSS 的类或 ID 时单词间如何连接? - 知乎 问题 CSS 类或...

Javascript中查找不以XX字符結尾的單詞

首先,讓我聲明一下,我在寫這篇文章之前花了2個多小時在弄正則表達式。悲~悲~悲~ 按照一般的思路,先來看看其他幾個插找方式: 我以字符串 var str = "eattd gebcat geda...

word中设置英文单词按字符换行

 问题: 在word中输入比较长的英文单词,如果单词超过了行尾,则会自动换行,这样就形成了上一行剩下的字数很少,如果是两段对齐,则字符间距会变大;如果左对齐,则会出现右边空出一大行。 ...
  • haelang
  • haelang
  • 2014年09月20日 22:12
  • 1297

poj 3267 最少需要删除多少个多余字符来匹配字典中的单词

这是一个动态规划的题,刚开始不容易想到,但是弄明白之后就很简单了,关键是在于状态规划方程 设dp[i]表示从单词开始位置到当前i位置之间至少要删除的多余字符 那么有这样一个方程 dp[i]=mi...

统计一行字符中有多少个单词

题目:如何统计一行字符中有多少个单词。 思路分析: (1)单词的个数可以由空格出现的次数决定,连续的若干个空格作为出现一次空格,一行开头的空格不统计在内。 (2)如果测出某一字符为非空格,而它的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字符/单词提取与过滤
举报原因:
原因补充:

(最多只允许输入30个字)