nodejs 如何刷选出文本中的所有中文?将一个html页面或者js文本的所有中文提取出来(保留中文之间的任意字符,并且去掉所有注释文本),放到另外一个文本?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页-我是一个可爱的小萝莉</title>
</head>
<body>
<div id="div1">我是一个div,并且id='div1'</div>
<div id="div2">我也是一个div,div2, 《书名=“嘻嘻嘻”》</div>
<div class="hidden">
你一定能看到我的
<!-- 这里的我,你是看不到的啦 -->
</div>
<script type="text/javascript">
// var getId = function(id) {
// return document.getElementById(id)
// }
/*这里是测试内容,真的!!*/
document.getElementById = (function (func) {
return function () {
return func.apply(document, arguments)
}
})(document.getElementById)
var getId = document.getElementById;
console.log(getId('div1'))
/* var func = function(a, b, c) {
'use strict';
console.log(this)
console.log(this === window)
}
func.apply(null, [1,2,3])*/
/* document.getElementById('div1').onclick = function() {
var func =function() {
console.log(this.id)
}
func.call(this)
}*/
Function.prototype.bind = function (context) {
/* var self = this;
return function() {
return self.apply(context, arguments)
}*/
var self = this,
context = [].shift.call(arguments), // 提取出上下文
args = [].slice.call(arguments); // 剩余参数转为数组
console.log(context, arguments, args)
return function () {
// 结合两次的参数
return self.apply(context, [].concat.call(args, [].slice.call(arguments)))
}
}
var obj = {
name: 'sven'
}
var func = function (a, b, c, d) {
console.log(this.name)
console.log([a, b, c, d])
}.bind(obj, 1, 2)
func(3, 4)
/**
* 欢迎大家加入我们的大家庭,你也看不到我的
*
* @param {*} [params=[]]
*/
function HelloWord(params = []) {
console.log('欢迎来到中国的大家庭:', ...params)
}
</script>
</body>
</html>
不太明白你想获取中文是什么需求。如果你是想获取标签内的文本 你可以用cheerio。 真要获取中文你可以全转成Unicode 然后判断中文范围。去掉注释的话 还是要靠正则=-=.