应该算是很菜的问题,但是整死我了……
是文字处理的我想读入这样一段话:
/nx 国家/n 药/n 监/vg 局/n 有关/vn 人士/n 说/v ,/w 自/p 7月/t 15日/t 起/f ,/w 中国/ns 将/d 禁用/v 进口/v 牛/ag 源/ng 性/ng 材料/n 制备/v 中成药/n ;/w
/nx 禁止/v 将/d 已/d 发生/v 疯牛病/n 疫情/n 国家/n 的/u 牛/n 骨/ng 为/p 原料/n 制备/v 的/u 明胶/n 用于/v 药品/n 生产/v 用/p 原料/n 、/w 辅料/n 等/u 。/w
/nx 国外/s 生产/v 的/u 血液/n 制品/n 、/w 使用/v 人/n 血/n 白/a 蛋白/n 作/v 稳定剂/n 和/c 保护/v 剂/ng 的/u 其它/r 生物制品/l 品种/n 申报/v 《/w 进口/vn 药品/n 注册证/n 》/w ,/w 或者/c 已/d 取得/v 《/w 进口/vn 药品/n 注册证/n 》/w 的/u 血液/n 制品/n 品种/n 进口/v 时/ng ,/w 必须/d 提供/v 血液/n 制品/n 制备/v 原料/n 血浆/n 来源于/v 没有/d 发生/v 疯牛病/n 疫情/n 国家/n 的/u 官方/n 证明/v 文件/n ,/w 等等/u 。/w
/nx
想把他们处理成一个词一个词,比如“国家”,“药”,“监”……
但是读出来在国家这里嘎然而止,下面的都不读了。逐过程调试看到,其实“药”、“监”等词都是读进来了。但就是什么都没有。
==============我是CJ的分隔线==============
foreach(string sch1 in temparray1)//temparrau1是这两段文字的数组
{
string[] sch2 = sch1.Split(null);//分割成诸如"国家/n","药/n",……这样的字符串
foreach(string strch1 in sch2)
{
if(strch1!="")
{
i = 0;
//j = 0;
char[] charch2 = strch1.ToCharArray();//charch2是每个中文单词和符号的字符数组
char[] chartemp1 = new char[strch1.Length];
foreach(char charch3 in charch2)
{
if(charch3 == '/')
{
//print_text += j.ToString() + "\n";
break;
}
else
{
sign = true;
//j++;
chartemp1[i] = charch3;
i++;
}
}
//print_text += j.ToString() + "\n";
//查这个中文对应的英文出来
if(sign)
{
sch3 = new string(chartemp1);//问题就坏在这里。这个地方,调试的时候看到,“药”什么
sch4 = sch3.Trim(); //的都是读进来了的,sch4的值就是"药\0\0\0",但是事实上
print_text += sch4; //似乎并没有加到print_text这个字符串里去。
if(htCE.ContainsKey(sch3))
{
}
sch3 = "";
sch4 = "";
sign = false;
}
chartemp1 = null;
charch2 = null;
}
}
sch2 = null;
}
脑子已经乱哄哄想不明白了,求路过的DX帮帮我
[此贴子已经被作者于2006-5-24 0:50:43编辑过]