Javascript 如何从另一个字符串中提取字符串
假设有以下字符串:Javascript 如何从另一个字符串中提取字符串,javascript,regex,Javascript,Regex,假设有以下字符串: http://192.168.56.101:4567/compose?p=/topic/3/werwerwerwer 我需要提取这个: /topic/3/werwerwerwer 最后我必须得到3分!任何人都可以帮我吗?当字符串是URL,p是您尝试检索的参数值时,您可以这样得到它: var string = 'http://192.168.56.101:4567/compose?p=/topic/3/werwerwerwer' function get(name, lin
http://192.168.56.101:4567/compose?p=/topic/3/werwerwerwer
我需要提取这个:
/topic/3/werwerwerwer
最后我必须得到3分!任何人都可以帮我吗?当字符串是URL,p是您尝试检索的参数值时,您可以这样得到它:
var string = 'http://192.168.56.101:4567/compose?p=/topic/3/werwerwerwer'
function get(name, link){
if(name=(new RegExp('[?&]' + encodeURIComponent(name) + '=([^&]*)')).exec(link))
return decodeURIComponent(name[1]);
}
var theValueOfp = get('p',string);
这应该会让你的工作顺利进行。调用getParam后,只需应用正则表达式
/**
*获取查询字符串的值
*@param{String}param获取值的字段
*/
var getParam=函数(字段,url){
//此正则表达式将第一个参数与给定名称匹配并返回
//进入组#1值
var reg=new RegExp('[?&]'+field+'=([^&.]*));
var string=reg.exec(url);
返回字符串?字符串[1]:空;
};
var p=getParam(“p”http://192.168.56.101:4567/compose?p=/topic/3/werwerwerwer")
如果(p!=null){
var myRegexp=/^\/\w+\/(\d+)\/.//;//组#1将提取该数字
var match=myRegexp.exec(p);
警报(匹配[1]);//3
}
发布您的尝试。字符串的结构是否始终相同?i、 e.相同的斜杠和所有。如果是这样,您可以针对/
执行丑陋的字符串搜索,但它可能不是非常可重用或模块化的。查看yourStr.split('/')
以及parseInt()
,它们可能具有可用价值。