怎么用js提取字符串中的某一段字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用js提取字符串中的某一段字符相关的知识,希望对你有一定的参考价值。
假设用一段字符串是?id=632573&id=79323?ed=7947
怎么才能将632573这段字符提取出来呢?
我用var b = "?id=632573&id=79323?ed=7947".replace(/^.+?id\=/,'');提取的是632573&id=79323?ed=7947不是632573
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = this.substr(this.indexOf("\\?")+1).match(reg);
if (r!=null) return unescape(r[2]); return null;
var s = "web1.aspx?status=item&mode=edit";
alert(s.getQuery("status"));
alert(s.getQuery("mode"));
String.prototype.getQuery = function(name)
的意思是为String对象增加一个getQuery(name)方法. 参考技术A var url ='?id=632573?id=79323&ed=7947';
var str = url.substr(1);
strs = str.split("?");
var theRequest = new Object();
theRequest[strs[0].split("=")[0]]=unescape(strs[0].split("=")[1]);
var id = theRequest['id']; //取得ID
alert(id);
以上仅解决你这个例子的情况,以为大多数情况下URL参数的键名都不是一样的
而且开头一个?中间都是& 所以实际可以一次性获取全部的参数的
//这个是正常的URL注意id和id2键名不一样中间都是&间隔var url ='?id=632573&id2=79323&ed=7947';
var str = url.substr(1); //去掉第一个?
strs = str.split("&");//以&分割
var theRequest = new Object();
//取得全部并赋值
for(var i = 0; i < strs.length; i ++)
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
//输出
var id = theRequest['id']; //取得ID
var id2 = theRequest['id2']; //取得ID2
var ed = theRequest['ed']; //取得ed
alert(id);
alert(id2);
alert(ed); 参考技术B 答案一:"?id=632573&id=79323?ed=7947".replace(/^.*?id=(\\d+).*$/,'$1')
答案二:"?id=632573&id=79323?ed=7947".replace(/^.*?(\\d+).*$/,'$1')
测试通过的~请采纳~不明白的可以继续追问~ 参考技术C
看到楼上好多人都写了,我也写了一个,希望能帮到你:
var b = "rwewerwer?id=632573&id=79323?ed=7947".match(/(\\d+)/g)[0]; 参考技术D var str = "?id=632573&id=79323?ed=7947";var s = str.indexOf('=')+1;//第一个=出现的位置
var e = str.indexOf('&');//第一个&出现的位置
var re = str.substring(s,e);//返回的值
如何将excel电子表格中带有多个连字符“-”的中的某一数字用公式提取出来,数据量比较大,一个一个的输入很
如何将excel电子表格中带有多个连字符“-”的中的某一数字用公式提取出来,数据量比较大,一个一个的输入很麻烦,请教各位高手了,谢谢!如下
A1单元格:10-2A-1167-13EONAD-SIN
A2单元格:3-7-1168-1EONAD-OUT
。。。。。。
An单元格
现在我要提取中间的数字1167、1168.。。。。。到B1、B2.。。。。。。Bn单元格
输入以下公式,然后向下填充公式
=--TRIM(MID(SUBSTITUTE(A1,"-",REPT(" ",100)),200,100))
详见附图示例
参考技术A 格式相同就容易解决,而且都是提取4位数在B1中输入公式,然后下拉填充
=MID(A1,FIND("@",SUBSTITUTE(A1,"-","@",2))+1,4)
如果提取的位数不确定,可以用下面有公式
=MID(A1,FIND("@",SUBSTITUTE(A1,"-","@",2))+1,FIND("@",SUBSTITUTE(A1,"-","@",3))-FIND("@",SUBSTITUTE(A1,"-","@",2))-1)追问
前面的连字符个数是一样多的,但提取的位数可能不同,提取值的前面连字符之间的数字个数也不同
追答那你使用下面的这个公式就OK了
参考技术B 将A列数据复制到末尾列,对复制的列采用“-”进行分裂,然后讲你需要的数据复制到B列,删除辅助列内容 MEIFEGHDPIG 的回答非常专业,我提供一个业余的方法本回答被提问者采纳 参考技术C 试了一下,MEIFEGHDPIG的方法能实现 参考技术D ……以上是关于怎么用js提取字符串中的某一段字符的主要内容,如果未能解决你的问题,请参考以下文章
如何将excel电子表格中带有多个连字符“-”的中的某一数字用公式提取出来,数据量比较大,一个一个的输入很