Skip to main content

文字处理

使用正则表达式提取 html 中的文字内容?

js 正则表达式把 html 中的文字内容提取出来

const html = '<div><p>Hello, <strong>World</strong>!</p></div>';
const text = html.replace(/<[^>]+>/g, '');
console.log(text); // 输出: "Hello, World!"

js 正则表达式把 html 中的文字内容提取 全局 h3 中的文字出来,输出为 string

const html = '<div><h3>Title 1</h3><p>Paragraph 1</p><h3>Title 2</h3><p>Paragraph 2</p></div>';

// 创建一个虚拟的 <div> 元素来解析 HTML
const div = document.createElement('div');
div.innerHTML = html;

// 获取所有 <h3> 标签并提取文本内容
const h3Elements = div.querySelectorAll('h3');
const textArray = Array.from(h3Elements).map(h3 => h3.textContent);

// 将提取的文本内容连接为一个字符串
const text = textArray.join(' ');
console.log(text); // 输出: "Title 1 Title 2"

理解编码, utf-8, utf-16 与 utf-32 的区别是什么?

tip

一般来说,一个英语是一个 byte(字符), 由 8 个 bits(比特)组成。
一个汉字由两个 bytes(字符),由 16 个 bits(比特)组成。

UTF-8, UTF-16 和 UTF-32 都是 Unicode(万国码) 字符集下的不同编码方式。

UTF-8,UTF-16 和 UTF-32 是三种字符编码标准。它们用于表示不同字符集。 "UTF"代表"Unicode Transformation Format",表示字符编码。数字 8,16 和 32 表示每个编码单元(也称为字节)所占的位数。UTF-8 用变长编码表示字符,对于常见字符只需要一个字节,对于罕见字符需要更多字节。UTF-16 使用定长编码,每个字符需要两个或四个字节。UTF-32 使用固定的四个字节来表示每个字符。它们的区别在于编码方式和存储需求。UTF-8 适用于多语言环境且效率高,UTF-16 适用于亚洲字符,UTF-32 则适用于少见字符和特殊需求。