过滤字串的问题

素才 2008-10-17 09:16:50
我想过滤掉一个字串中所有的 数词/代词+量词+量词附属词 的结构 如"一串""一点整""二十个左右";
量词另外有一张表格quanlist.txt下面的例子中用到的是"个年米秒点";
量词左边要过滤掉的是Sl="0123456789一二三四五六七八九十零百千万亿每这那几";
量词右边要过滤掉的是量词的附属结构Sr="半整"或者"/+另一个量词"(如"米/秒后面的"/秒");
现在的问题是Sl中的字符可以连续出现 如"一百二十五个"
而我,在"这三年的研究结果说明,一百二十五个大人平均速度是10米/秒,而一个小孩的每秒的平均速度是三十米左右,这是在中午一点半的测试结果"这样一段话里面希望最后得到的是" 的研究结果说明,大人平均速度是 而 小孩的 的平均速度是 这是在中午 的测试结果",请问要如何写这个算法?过滤掉的部分一律用空格代替.
这其中涉及比较琐碎的各种情况的考虑,最好能提供代码或伪代码,我感觉文字表达会很复杂.
最好用CString类,我努力了一天,思路还是很乱.C++也行.
这是我毕设的一部分,我的毕业设计是文本关键词的抽取,中间涉及到比较多的字符串的处理--也有人建议我用正则表达式,如果您有好的意见或者从事相关的工作,欢迎交流和指教.我的QQ:605794686(注明csdn)
...全文
119 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dan_M 2008-10-18
  • 打赏
  • 举报
回复
帮顶
旁听
qkhhxkj102 2008-10-18
  • 打赏
  • 举报
回复
帮顶
素才 2008-10-17
  • 打赏
  • 举报
回复
量词有三类:1,是数+量;2.量词叠用.3.量/量
三个;条条;米/秒
2.量词叠用又可以加"一",一条条
素才 2008-10-17
  • 打赏
  • 举报
回复
FindOneOf不是不支持两个参数么?
dch4890164 2008-10-17
  • 打赏
  • 举报
回复
正则表达式或许能解决这个问题
不过中文的不知道怎么搞
Joephia 2008-10-17
  • 打赏
  • 举报
回复
#define UNICODE

CString Sl=L"0123456789一二三四五六七八九十零百千万亿每这那几";

CString S2=L"这三年的研究结果说明,一百二十五个大人平均速度是10米/秒,而一个小孩的每秒的平均速度是三十米左右,这是在中午一点半的测试结果";

int index=0;
while((index=S2.FindOneOf(S1,0)>=0)
S2.SetAt(index,L" ");

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧