nodeJS 中解析以下字符串以提取下述值的最佳方法是什么?
client 111.222.333.44#59699: query: jadssdffsdnisa.website.com IN A -ED (81.11.11.175)
当前代码:
//parsing
var c_ip = data.split("client ")[1].split("#")[0]
var sdomain = data.split("query:")[1].split(".")[0]
console.log("c_ip: " + c_ip + '\n');
console.log("sdomain: " + sdomain + '\n');
结果:
c_ip: 130.225.244.66
sdomain: paul
最佳答案
这很大程度上取决于您的输入字符串如何到达,但假设它始终具有相同的格式,您可以执行类似的操作
var task = "client 111.222.333.44#59699: query: jadssdffsdnisa.website.com IN A -ED (81.11.11.175)"
var c_ip = task.split("client ")[1].split("#")[0]
var sdomain = task.split("query: ")[1].split(".")[0]
console.log("c_ip:", c_ip)
console.log("sdomain:", sdomain)
此外,如果变化更多,您可以使用正则表达式。 @jens-habegger 有一个很好的例子
关于node.js - 从nodeJS中的字符串中解析一些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38197967/