C#读取文本并入库
文本格式固定如下:
**********************:
<中文作者一>=赵逢玲
<中文作者二>=杜秀华
<中文作者三>=王翠东
<中作者单位一>=277500山东省滕州市中心人民医院
<中作者单位二>=The Center People's Hospital
<中作者简介一>=中华医学会杂志社
***************************
<中文作者一>=赵逢玲
<中文作者二>=杜秀华
<中文作者三>=王翠东
<中作者单位一>=277500山东省滕州市中心人民医院
<中作者单位二>=The Center People's Hospital
<中作者简介一>=中华医学会杂志社
数据库中有三个字段:
作者、作者单位、作者简介。
这怎么入库啊
------解决方案--------------------那你首先设置一个计数变量index,然后通过读取一行ReadLine(),比较判断看是不是***********,
然后将*******号之间的先分开,然后这之间的6行数据,前三行数据通过=号来Split,去后面的内容,然后拼接做为你数据库中作者的信息,然后是第四五行,通过=来Split,取后面的内容拼接作为作者单位,最后一行,=号分隔后面的内容作为作者简介,然后保存进数据库。
这个你得慢慢遍历、判断、比较、处理,是可以做出来的。
------解决方案--------------------不好意思改一下或许更好一点
[<].*[>]这样匹配就可以截取
<>之间的内容了
------解决方案--------------------
感觉似乎少了,书名这个字段,这样即使插入数据库,也会造成一锅粥
大致思路如下:
先建立个类 Author 下边 有属性 Number Name Unit Intro
申明List<Author> author
1、先选取1段,先读取“<中文作者”至下一个“>”中的文字,这样不
管是“一”还是“九十”都能够读出来,再从“>=”后取出到下一个“<”
的文字作为作者名。
名字取出后
author[0].Number ="一";
author[0].Name ="赵逢玲";
author[0].Unit = null;
author[0].Intro = null;
大致这样
2、第二次查找“<中作者单位”至下一个“>”中的文字,和列表中的
Number比较,如果相等,就将“>=”到下一个“<”文字取出赋予Unit
3、同理搞定Intro,这样就有了个很整齐的List了,循环插入。