导航:首页 > 净水问答 > nodejs文本过滤

nodejs文本过滤

发布时间:2021-03-23 01:19:47

『壹』 node JS中处理json字符串中含有转义符号\ ,不能解析成json对象

使用JSON从后台向前台传输数据的时候,当数据本身含有一些特殊字符,会导致JSON数据的解析出错。
使用下面的方法对即将向前台输出的json字符串进行处理,可以解决键盘上能输入的所有特殊字符问题。
//当文本中含有如下特殊字符时,此方法可以成功处理,让其在前台被正确解析,注意:此法不能处理单引号
public static String stringToJson(String s) {
StringBuffer sb = new StringBuffer ();
for (int i=0; i<s.length(); i++) {

char c = s.charAt(i);
switch (c) {
case '\"':
sb.append("\\\"");
break;
// case '\\': //如果不处理单引号,可以释放此段代码,若结合下面的方法处理单引号就必须注释掉该段代码
// sb.append("\\\\");
// break;
case '/':
sb.append("\\/");
break;
case '\b': //退格
sb.append("\\b");
break;
case '\f': //走纸换页
sb.append("\\f");
break;
case '\n':
sb.append("\\n"); //换行
break;
case '\r': //回车
sb.append("\\r");
break;
case '\t': //横向跳格
sb.append("\\t");
break;
default:
sb.append(c);
}}
return sb.toString();
}

//注意,下面的方法是在把你的数据文本接入json数据字符串之前使用,预先对文本做处理后在接入JSON字符串
//处理文本中的单引号 和 斜杠
public static String StringDanYinToJSON(String ors) {
ors = ors == null ? "" : ors;
StringBuffer buffer = new StringBuffer(ors);
int i = 0;
while (i < buffer.length()) {
if (buffer.charAt(i) == '\'' || buffer.charAt(i) == '\\') {
buffer.insert(i, '\\');
i += 2;
} else {
i++;
}
}
return buffer.toString();
}

『贰』 nodejs怎么获取当前请求的日志

functionreadLog(date,type,operation){//函数接受3个参数,日期、精度(天时分秒)和操作(查找、刷新或者默认)if(date){//如果有时间参数则对时间参数进行处理(一般日志名称都是时间加类型)vardataStr=arguments[0];vardate=dataStr.slice(0,10);varhour=dataStr.slice(11,13);varminute=dataStr.slice(11,16);varsecond=dataStr.slice(11,19);vartype=arguments[1];//获取精度
}else{//若无时间参数则获取当前时间,然后精度默认vardate=newDate(+newDate()+8*3600*1000).toISOString().replace(/T/g,'').replace(/.[d]{3}Z/,'').slice(0,10);vartype=null;
}varop=arguments[2];varcountResult=0;//对日志结果进行统计varlogPath=appDirName.slice(0,-3)+'log\'+'ivsvr_'+date+'.log';//拼接日志文件名称varlogStr='';
fs.stat(logPath,function(err,stats){//获取对应的日志文件状态if(err){//日志不存在或者异常处理信息
$('#logTipInfotrtd').html('无日志信息可供查看');console.log(err);
}else{varlineCount=0;varreadline=require('readline');varfReadName=logPath;varfRead=fs.createReadStream(fReadName);varobjReadline=readline.createInterface({input:fRead,
});//按行读取日志
objReadline.on('line',(line)=>{varitemStr=$.trim(line);vartime=itemStr.slice(0,19);varcontent=itemStr.substr(20);if(!time||!content){return;}

++lineCount;//计数行数varmatched=true;varitemStr=$.trim(line);varitemArr=itemStr.split('');varlogDate=itemArr[0];varlogTime=itemArr[1];vartime=logDate+''+logTime;switch(type){//进度查找过滤case'0':casenull:
matched=true;break;case'1':vartimeSplit=logTime.slice(0,2);if(timeSplit==hour){
matched=true;break;
}
matched=false;break;case'2':vartimeSplit=logTime.slice(0,5);if(timeSplit==minute){
matched=true;break;
}
matched=false;break;case'3':vartimeSplit=logTime.slice(0,8);if(timeSplit==second){
matched=true;break;
}
matched=false;break;default:console.log('unkonwtype!');break;
}if(matched===true&&(lineCount>logReadFlag)){//日志结果格式化输出呈现
countResult++;varresult=itemArr[2];if(result=='err'){varoperation=itemArr[4];
result='失败:'+itemArr[5]+''+(itemArr[6]?itemArr[6]:'');
}else{varoperation=itemArr[4]+''+itemArr[5]+(itemArr[6]?itemArr[6]:'');
result='成功';
}
logStr+='<tr><td>'+time+'</td><td>'+operation+'</td><td>'+result+'</td></tr>'
}

logStr+='<tr><td>'+time+'</td><td>'+content+'</td></tr>'
});objReadline.on('close',()=>{if(logReadFlag==0&&(logStr=='')){varinfo='无日志信息可供查看';
}if(logReadFlag>0&&(logStr!='')){varnewLogNum=lineCount-logReadFlag;varinfo='刷新成功,更新'+newLogNum+'条日志!';
$('#logInfoTable').prepend(logStr);
}elseif(logReadFlag>0&&(logStr=='')){varinfo='刷新成功,无日志更新!';
}else{
$('#logInfoTable').html(logStr);
}if(op=='search'){varinfo='查找到'+countResult+'条日志';
}
$('#logTipInfotrtd').html(info);if((op=='search'||op=='refresh')&&(logReadFlag!=0||newLogNum>0||countResult>0)){
setTimeout(function(){$('#logTipInfo').fadeOut(567);},2000);//操作结束后给出信息反馈,反馈自动淡出消失
}else{
$('#logTipInfo').hide();
}
logReadFlag=lineCount;console.log('closed');
});
}
});
}

『叁』 nodejs 如何刷选出文本中的所有中文

通常使用JavaScript正则表达式进行匹配提取。基本处理步骤为:

  1. 处理编码类型(可能需要转码处理)。node.js不能很好处理字符编码问题(默认UTF8),而在Windows中文区,一般文件内容编码大部分为GBK、GB2312之类的,你要转码为UTF8。(如果不存在编码问题,自然不必处理)

  2. 读取文本内容。

  3. 进行正则匹配中文部分。

  4. 最后进行处理(获取中文、或者替换为其他之类的)。

//举个例子
letreg=/[u4e00-u9fa5]/g;
letstr="中文123Abc";
letregResult=str.match(reg);

console.log(regResult)

『肆』 nodejs 判断文件是不是文本文件

var fs = require("fs");var stat = fs.lstatSync("./xx");console.log(stat.isDirectory());如果返回结果为true则为文件夹。

『伍』 javascript nodejs cheerio怎么从html中提取想要的内容

$('div.col.title a').prop('href')

『陆』 nodejs网络爬虫怎么过滤关键字

启动terminal,运行"python /Cocos/Cocos2d-x-3.0beta2/tools/project-creator/create_project.py"。把工程命名为MaskedCal,然后选择一个文件夹来保存,最后点Create。
接下来,请下载本工专程所需要的资源属文件并把它们拖到你的Xcode的Resource分组中,确保“Copy items into destination group’s folder (if needed)” 并复选中,然后点Finish。

『柒』 Nodejs有没有过滤器模块

Node.js逐渐升温,很多朋友已经开始关注。但是在Windows平台上需要基于Cygwin安装配置环境,让很多人望而却步。
不过有消息称Microsoft已经联系Node.js官方,相信很快会有改善。
那么在不安装Cygwin的情况下,是否可以在Windows上搭建Node.js环境进行试验开发哪看我以Node.js + express做了个简单测试,基本可行。
步骤如下:

1. 下载Node.js官方非稳定版Windows可执行程序:
我在试验中使用了0.5.7版本

2. 创建c:\nodejs目录,并将node.exe保存在此目录中

3. 下载express。因为依赖关系,我们还需要下载:connect、qs、mime和jade(express默认模板系统。如果你使用其他模板系统,需要下载相应系统)

4. 创建c:\nodejs\node_moles目录,并在此目录中分别创建[Mole]目录。然后将上一步下载的文件压缩,把相关文件拷贝到[Mole]目录中。
node_moles
|- connect <= connect: lib/*
|- express <= express: lib/*
|- jade <= jade: lib/*
|- mime <= mime: mime.js & types/*
|- qs <= qs: lib/*

5. 在c:\nodejs\node_moles目录,分别创建以下文件:
connect.js
内容:mole.exports = require('./connect/connect');
express.js
内容:mole.exports = require('./express/express');
jade.js
内容:mole.exports = require('./jade/jade');
mime.js
内容:mole.exports = require('./mime/mime');
qs.js
内容:mole.exports = require('./qs/querystring');

6. 将下载的express压缩包中的bin/express文件拷贝到c:\nodejs目录,并改名为express.js

7. 修改express.js文件,以下以2.4.3为例:
7.1. 修改mkdir函数体
401: exec('mkdir -p ' + path, function(err){
->exec('md ' + path, function(err){
7.2. 修改mkdir函数调用
263: mkdir(path + '/public/javascripts');
->mkdir(path + '\\public\\javascripts');
264: mkdir(path + '/public/images');
->mkdir(path + '\\public\\images');
265: mkdir(path + '/public/stylesheets', function(){
->mkdir(path + '\\public\\stylesheets', function(){
280: mkdir(path + '/views', function(){
->mkdir(path + '\\views', function(){

8. 创建一个express项目:
c:\nodejs\node.exe express.js -s hello

9. c:\nodejs\node_moles\*.* => c:\nodejs\hello\node_moles\

10. 运行并测试:
c:\nodejs\node.exe hello\app.js
在浏览器中打开:,查看结果。

至此测试完成。
下面给出测试文件,在测试文件中我还试验了express session。可以在浏览器中打开:/session,查看结果。

『捌』 如何用nodejs打开本地文本文件并在网页中显示

var http = require("http"),
url = require("url"),
path = require("path"),
fs = require("fs");

http.createServer(function (req, res) {
var pathname=__dirname+url.parse(req.url).pathname;
if (path.extname(pathname)=="") {
pathname+="/";
}
if (pathname.charAt(pathname.length-1)=="/"){
pathname+="index.html";
}

path.exists(pathname,function(exists){
if(exists){
switch(path.extname(pathname)){
case ".html":
res.writeHead(200, {"Content-Type": "text/html"});
break;
case ".js":
res.writeHead(200, {"Content-Type": "text/javascript"});
break;
case ".css":
res.writeHead(200, {"Content-Type": "text/css"});
break;
case ".gif":
res.writeHead(200, {"Content-Type": "image/gif"});
break;
case ".jpg":
res.writeHead(200, {"Content-Type": "image/jpeg"});
break;
case ".png":
res.writeHead(200, {"Content-Type": "image/png"});
break;
default:
res.writeHead(200, {"Content-Type": "application/octet-stream"});
}

fs.readFile(pathname,function (err,data){
res.end(data);
});
} else {
res.writeHead(404, {"Content-Type": "text/html"});
res.end("<h1>404 Not Found</h1>");
}
});

}).listen(8080, "127.0.0.1");

console.log("Server running at http://127.0.0.1:8080/");

『玖』 Nodejs 如何过滤掉特殊字符

将对象转换成字符串,字符串里多个参数将用 ‘&' 分隔,将用 ‘=' 赋值。
这个函数的操作和 querystring.parse() 是相反的,具体可以看一下例子就了解了。

『拾』 nodejs怎么读取log文件内容

用ajax就可以了~把log文件当做文本读取就可以了~不过这个东西读出来应该没有什么格式可循,就是一片字字符串,很难看的~除非你的log文件遵循json或者XML格式,否则是无法排列的~

阅读全文

与nodejs文本过滤相关的资料

热点内容
901树脂耐高温多少度呢 浏览:659
为什么猫喜欢玩饮水机 浏览:475
污水厂设备维修申请单 浏览:351
污水臭氧发生器怎么投加 浏览:580
超滤膜密度 浏览:893
宝马加的纯净水是什么 浏览:534
ocn树脂 浏览:875
上海工业污水处理回用厂公司 浏览:118
自酿酒可以二次蒸馏吗 浏览:452
水处理常用药剂以及作用 浏览:913
华为720空气净化器手动怎么使用 浏览:495
新乡反渗透膜修复剂怎么样 浏览:391
豪爵钻豹的机油滤芯在哪里 浏览:148
环氧树脂沾鱼缸行吗 浏览:581
江西省百强中心镇污水处理 浏览:402
工业冷水机过滤器结霜是什么问题 浏览:472
嘉陵70换空气滤芯怎么换 浏览:778
瑞斯艾尔净化器怎么复位 浏览:825
波尔滤芯质量如何 浏览:685
空气过滤器经销商 浏览:88