以/为单位截取URL

本文通过一个简单的JavaScript代码示例,展示了如何从完整的URL中提取特定部分,具体为倒数第二个路径段,并将其作为输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

let url = 'http://www.baidu.com/';
let urlList = href.split('/');
let a = urlList[urlList.length-2].split('.')[0];
console.log(a);

输出结果:www

if((TcpClient_Buff.length() >= 30) && (millis() - TcpClient_preTick>=200)) { TCPclient.flush(); Serial.print("Rev string: "); TcpClient_Buff.trim(); //去掉首位空格 Serial.println(TcpClient_Buff); //打印接收到的消息 String getTopic = ""; String getMsg = ""; //注意TcpClient_Buff只是个字符串,在上面开头做了初始化 String TcpClient_Buff = ""; //此时会收到推送的指令,指令大概为 cmd=2&uid=xxx&topic=light002&msg=off,下面开始字符串剪切 int topicIndex = TcpClient_Buff.indexOf("&topic=")+7; //c语言字符串查找,查找&topic=位置,并移动7位,不懂的可百度c语言字符串查找 int msgIndex = TcpClient_Buff.indexOf("&msg=");//c语言字符串查找,查找&msg=位置 getTopic = TcpClient_Buff.substring(topicIndex,msgIndex);//c语言字符串截取截取到topic,不懂的可百度c语言字符串截取 getMsg = TcpClient_Buff.substring(msgIndex+5);//c语言字符串截取截取到消息 Serial.print("topic:------"); Serial.println(getTopic); //打印截取到的主题值 Serial.print("msg:--------"); Serial.println(getMsg); //打印截取到的消息值 if(getMsg == "on"){ turnOnLed(); Serial.println("on"); }else if(getMsg == "off"){ //如果是消息==关闭 turnOffLed(); Serial.println("off"); //topic1关 } else if(getMsg == "1on"){ //如果是消息==关闭 turnOnLed1(); Serial.println("1on"); //topic1关 } else if(getMsg == "1off"){ //如果是消息==关闭 turnOffLed1(); Serial.println("1off"); //topic1关 } else if(getMsg == "update"){ //如果收到指令update updateBin();//执行升级函数 } else if(getMsg.length() == 12 ){ idps=getMsg; strcpy(config.idm,idps.c_str()); saveConfig(); } else if (getMsg.indexOf('P') != -1 && getMsg.indexOf('K', getMsg.indexOf('P')) != -1) { Freq = getMsg.substring((getMsg.indexOf('P')) + 1, (getMsg.indexOf('K', getMsg.indexOf('P')))); analogWriteFreq(atoi(Freq.c_str())); } else if ((getMsg.indexOf('A') )!= -1) { light = getMsg.substring((getMsg.indexOf('A') ) + 1); pwmValue=atoi(light.c_str()); analogWrite(2,pwmValue); Serial.println(light); // } else if ((getMsg.indexOf('B')) != -1) { light2 = getMsg.substring((getMsg.indexOf('B')) + 1); pwmValue=atoi(light2.c_str()); analogWrite(12,pwmValue); Serial.println(light2); // } if((getMsg.indexOf('#')!= -1)) { rgbdata = getMsg; rgbflat= true; } else {rgbflat= false;} TcpClient_Buff=""; TcpClient_BuffIndex = 0; }把这段ESP8266代码优化一下,给出详细代码
最新发布
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值