js 读取word和txt(react版) + 正则分割段落
show the code
前提:需要mammoth包~
import React, { useState, useReducer } from 'react';
import { Button, Alert, Table, Badge, Input, Upload } from 'antd';
import CommonTable from '@cps/CommonTable';
import styles from './receive.less';
import { UploadOutlined } from '@ant-design/icons';
import mammoth from 'mammoth';
function reducer(state: any, action: any) {
return {
...state,
...action.data
};
}
const NovelAnalyze = () => {
const [state, dispatch] = useReducer(reducer, {
content: ''
});
const getTextInfo = (file: any) => {
const reader = new FileReader();
reader.readAsText(file, 'gb2312');
reader.onload = (result: any) => {
console.log(result);
let targetNum = result.target.result;
console.log(targetNum);
};
return false;
};
const getWordInfo = (file: any) => {
const reader = new FileReader();
reader.onload = function(loadEvent: any) {
const arrayBuffer = loadEvent.target['result'];
mammoth
.extractRawText({ arrayBuffer: arrayBuffer })
.then(function(resultObject) {
console.log('extractRawText', resultObject.value);
})
.done();
};
reader.readAsArrayBuffer(file);
return false;
};
return (
<div>
<ul className={styles.optionBtnList}>
<li>
<Button type='primary'>导出</Button>
<Upload action='' accept='text/plain' beforeUpload={getTextInfo} showUploadList={false}>
<Button>
<UploadOutlined />
上传txt文件
</Button>
</Upload>
<Upload
action=''
accept='.doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document'
beforeUpload={getWordInfo}
showUploadList={false}
>
<Button>
<UploadOutlined />
上传word文件
</Button>
</Upload>
<Button type='primary'>导入word</Button>
</li>
</ul>
</div>
);
};
export default NovelAnalyze;
正则分割段落
原文:
第259章 这是259内容 第262章 这是262内容 第666章 测试内容
str.replace(/\s*(第\d+章)\s*/g, "@@@$1___").split("@@@").filter(item => item).map(item => ({[item.split("___")[0]]: item.split("___")[1]}))
结果:
0: {第259章: "这是259内容"}
1: {第262章: "这是262内容"}
2: {第666章: "测试内容"}
js 读取word和txt(react版) + 正则分割段落的更多相关文章
- js读取修改创建txt文本类型文件(.ini)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js读取本地json/txt/xml存在跨越问题,可以用jsonp 读取本地json文件
想自己用 js写一个原生的ajax请求,访问本地文件,json/txt.但是demo,写了一个后,发现 原来是跨域了. js 写的原生ajax 请求代码如下 html代码 <div id=&qu ...
- js读取文本内容,支持csv.txt
js读取文本内容,支持csv.txt <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- ZK中使用JS读取客户端txt文件内容问题
最近写一个需求时遇到一个问题,用户需要通过点击一个按钮直接读取他自己电脑上D盘的一个txt文件内容显示到页面,因为项目现在是用ZK写的.我对于ZK也是刚刚了解不就,很多都还不是很熟.起初我是想用io流 ...
- POI 读取word (word 2003 和 word 2007) (转)
最近在给客户做系统的时候,用户提出需求,要能够导入 word 文件,现在 microsoft word 有好几个版本 97.2003.2007的,这三个版本存储数据的格式上都有相当大的差别,而现在 9 ...
- php 如何写入、读取word,excel文档
如何在php写入.读取word文档 <? //如何在php写入.读取word文档 // 建立一个指向新COM组件的索引 $word = new COM("word.applicatio ...
- word和.txt文件转html 及pdf文件, 使用poi jsoup itext心得
word和.txt文件转html 及pdf文件, 使用poi jsoup itext心得本人第一次写博客,有上面不足的或者需要改正的希望大家指出来,一起学习交流讨论.由于在项目中遇到了这一个问题,在 ...
- 使用新一代js模板引擎NornJ提升React.js开发体验
当前的前端世界中有很多著名的开源javascript模板引擎如Handlebars.Nunjucks.EJS等等,相信很多人对它们都并不陌生. js模板引擎的现状 通常来讲,这些js模板引擎项目都有一 ...
- C# 添加、读取Word脚注尾注
脚注和尾注是对文本的补充说明.脚注一般位于页面的底部,可以作为文档某处内容的注释:尾注一般位于文档的末尾,列出引文 的出处等.在本示例中将介绍如何来添加或删除Word脚注. 工具使用:Free Spi ...
随机推荐
- (二)ansible 使用
一,ansible 命令格式 #ansible <pattern> -m <module_name> -a <arguments> #单个服务器 ansible 3 ...
- POI2014 FAR-FarmCraft
[Farm Craft] [题目描述] mhy住在一棵有n个点的树的1号结点上,每个结点上都有一个妹子. mhy从自己家出发,去给每一个妹子都送一台电脑,每个妹子拿到电脑后就会开始安装zhx牌杀毒软件 ...
- CF833A The Meaningless Game 题解
题目 Slastyona and her loyal dog Pushok are playing a meaningless game that is indeed very interesting ...
- mysql-如何删除主从同步
我用 change master 语句添加了一个主从同步, change master to master_host='localhost',master_user='slave',master_p ...
- Flutter 1.17 新 Material motion 规范的预构建动画
老孟导读:在 Flutter 1.17 发布大会上,Flutter 团队还发布了新的 Animations 软件包,该软件包提供了实现新的 Material motion 规范的预构建动画. 软件包 ...
- Python Ethical Hacking - VULNERABILITY SCANNER(8)
Implementing Code To Discover XSS in Parameters 1. Watch the URL of the XSS reflected page carefully ...
- 为什么SpringBoot项目里引入其他依赖不要写版本号
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> < ...
- C#和 JS的闭包
闭包的概念是内层的函数可以引用包含在它外层的函数的变量,即使外层函数的执行已经终止.但该 变量提供的值并非变量创建时的值,而是在父函数范围内的最终值. C#闭包可理解为跨作用域访问函数内变量,那么如何 ...
- WPF 有缩放时显示线条的问题
公司项目已经开发好几年了,用的WPF开发的,期间遇到好多问题,都是些小细节.很久没有写博客了,以后有时间还是需要写写博客啊!作为分享也好.记录也好,利人利己嘛. 今天主要说一下显示线条的问题,因为我们 ...
- 数据治理工具调研之DataHub
1.项目简介 Apache Atlas是Hadoop社区为解决Hadoop生态系统的元数据治理问题而产生的开源项目,它为Hadoop集群提供了包括数据分类.集中策略引擎.数据血缘.安全和生命周期管理在 ...