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章: "测试内容"}

原文地址:https://www.cnblogs.com/mapleChain/p/12609131.html

时间: 2024-10-09 11:55:02

js 读取word和txt(react版) + 正则分割段落的相关文章

js读取修改创建txt文本类型文件(.ini)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </h

word和.txt文件转html 及pdf文件, 使用poi jsoup itext心得

word和.txt文件转html 及pdf文件, 使用poi jsoup  itext心得本人第一次写博客,有上面不足的或者需要改正的希望大家指出来,一起学习交流讨论.由于在项目中遇到了这一个问题,在网上也找了很多方法,感觉千篇一律,总有一些问题,因此总结出word转html和pdf文件使用方法.虽然poi功能不是很强大,但毕竟不依靠本地office软件,同样还有一种方式使用jacob也可以将word转html,不过这个方式要依靠本地office,而且只能在windows平台下,不支持unix系

POI 读取word (word 2003 和 word 2007) (转)

最近在给客户做系统的时候,用户提出需求,要能够导入 word 文件,现在 microsoft word 有好几个版本 97.2003.2007的,这三个版本存储数据的格式上都有相当大的差别,而现在 97 基本上已经退出市场,几乎没有人用这个版本了, 所以在我们的系统中只考虑 2003 版本和 2007 版本的,因为我们只要求能够读取 word 中的文字内容即可,其中的文字样式.图片等信息可以忽略,也不用直接操作 word 文件, 所以我们选择 用 apache 的 POI 进行读取. 读取 20

linux下如何用php读取word

在实际的工作中遇到到要导入word格式的文件,经过努力,终于成功了. 在linux上用PHP读取WORD文档,其实是使用了 antiword程序把word文档转化为txt文档. 再使用php执行系统命令调用而已. 具体操作如下: 1.安装antiword 官方站:http://www.winfield.demon.nl/ 下载地:http://www.winfield.demon.nl/linux/antiword-0.37.tar.gz 下载完,解压,进入目录 使用命令 make &&

JS读取本地文件及目录的方法

Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼.富有朝气.但也许你还没有发现并应用它的一些更高级 的功能吧?比如,对文件和文件夹进行读.写和删除,就象在VB.VC等高级语言中经常做的工作一样.怎么样,你是否需要了解这方面的知 识?那就请跟我来,本文将详细描述如何使用Javascript语言进行文件操作. 一.功能实现核心:FileSystemObject 对象 其实,要在Javascript中实现文件操作功能,主要就是依靠FileSystemobject对象.

[转载]linux上用PHP读取WORD文档

在linux上用PHP读取WORD文档,其实是使用了 antiword程序把word文档转化为txt文档. 再使用php执行系统命令调用而已. 具体操作如下: 1.安装antiword 官方站:http://www.winfield.demon.nl/ 下载地:http://www.winfield.demon.nl/linux/antiword-0.37.tar.gz 下载完,解压,进入目录 使用命令 make && make install 即可完成安装. 安装时,自动安装到了/roo

Python中办公软件(读取word文件和读出保存别文件)

#读word文件import win32comimport win32com.client def readWordFile(path): #调用系统word功能,可以出来doc和docx两种文件 mw=win32com.client.Dispatch("Word.Application") #打开word文件 doc=mw.Documents.Open(path) for paragraphsin in doc.Paragraphs:#循环取出内容 line=paragraphsin

java读取WORD/EXCEL模板转换生成新WORD/EXCEL文档

原文:java读取WORD/EXCEL模板转换生成新WORD/EXCEL文档 代码下载地址:http://www.zuidaima.com/share/1550463239670784.htm 可以通过预先设置指定的excel和word模板,通过替换文档里面指定的标志来生成新的excel和word文档.excel的部分只是实现了简单的方法.word部分可以支持word2003和word2007格式.建议word使用07及其以上. 其实excel部分标签和jstl很像,而且支持循环等.word就支

前端使用js读取文件

最近同时问我js能不能读取本地文件: 想起以前看到js读取本地文件的文章,然后自己写了个demo. ps:这有点想Java的IO流,但是又有差别. 首先我们定义一个input标签type="file" 1 jsReadFile:<input type="file" onchange="jsReadFiles(this.files)"/> 然后我们定义一个jsReadFiles的方法将文件作为参数:当上传文件的时候读取这个文件 1 //