编程技术文章分享与教程

网站首页 > 技术文章 正文

文本分割统计器(文本文件分割工具)

hmc789 2024-11-17 11:22:16 技术文章 2 ℃

很多视频制作软件或者文字转语音每次都有500个或者800个字数限制。

长文章用人工分割字数费时费力,我在网上找半天也没有相应的软件或者在线网页。


我搞了一段代码,可以解决这个痛点。复制到记事本,另存为html文件文件就行,手机和电脑都可以用。执行效果如上图所示。代码如下:


<!DOCTYPE html>

<html lang="zh-CN">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>文本分割统计</title>

</head>

<body>

<h1>文本分割统计</h1>

<p>

<textarea id="text-input" rows="10" cols="50"></textarea>

</p>

<p>

<button id="count-btn">统计字数</button>

<button id="split-btn">分割文本</button>

</p>

<p>

<label for="split-num">每部分字数:</label>

<input type="number" id="split-num" value="450">

</p>

<div id="result"></div>


<script>

const textInput = document.getElementById('text-input');

const countBtn = document.getElementById('count-btn');

const splitBtn = document.getElementById('split-btn');

const splitNumInput = document.getElementById('split-num');

const resultDiv = document.getElementById('result');


countBtn.addEventListener('click', () => {

const text = textInput.value;

const wordCount = text.length;

alert(`文本总字数:${wordCount}`);

});


splitBtn.addEventListener('click', () => {

const text = textInput.value;

const splitNum = parseInt(splitNumInput.value);

const parts = splitText(text, splitNum);

resultDiv.innerHTML = '';

for (let i = 0; i < parts.length; i++) {

const part = parts[i];

const copyBtn = document.createElement('button');

copyBtn.innerText = '复制';

copyBtn.addEventListener('click', () => {

navigator.clipboard.writeText(part);

alert('复制成功!');

});

resultDiv.appendChild(document.createElement('p')).appendChild(document.createTextNode(part));

resultDiv.appendChild(copyBtn);

}

});


function splitText(text, splitNum) {

const parts = [];

let start = 0;

while (start < text.length) {

const end = Math.min(start + splitNum, text.length);

parts.push(text.substring(start, end));

start = end;

}

return parts;

}

</script>

</body>

</html>

标签列表
最新留言