我需要拆分用户输入的路径并仅抓取其中的某些部分。对于例如如果用户输入路径为:
/content/mypath/myfolder/about/images/April/abc.jpg
我应该得到它:
四月/ abc.jpg的
$(document).ready(function(){
$('#getData').click(function(){
imgPath = $('#imgPath').val();
console.log($(imgPath).split('/'));
//console.log(slicedPath);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
Image path: <input type="text" id="imgPath">
<button id="getData">Click</button>
答案 0 :(得分:2)
使用split
时,会将数据拆分为array
。然后,您可以使用array[number]
来获取特定值。
$(document).ready(function(){
$('#getData').click(function(){
imgPath = $('#imgPath').val();
var s = imgPath.split('/');
var l = s.length - 1;
console.log(s[(l - 1)] + "/" + s[l]);
//console.log(slicedPath);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
Image path: <input type="text" id="imgPath">
<button id="getData">Click</button>
&#13;
答案 1 :(得分:2)
您可以使用pop来获取分割后的最后一个值,
str = '/content/mypath/myfolder/about/images/April/abc.jpg';
var a = str.split('/');
second = a.pop();
first = a.pop();
url = first+"/"+second;
console.log(url);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
编辑:
您可以采用更优化的方式,
str = '/content/mypath/myfolder/about/images/April/abc.jpg';
var a = str.split('/');
arr = [];
arr.push(a.pop(),a.pop());
str = arr.reverse().join("/");
console.log(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
优势:
通过这种方式,您可以从url的最后一侧获得两个以上(如果需要),因此可以灵活地实现两个以上的部分。
我希望这会有所帮助。
答案 2 :(得分:1)
split()
返回一个数组。拆分后,你可以得到这样的任何部分:
$(document).ready(function(){
$('#getData').click(function(){
var imgPath = $('#imgPath').val();
var split = imgPath.split('/');
var desiredPath = split[split.length-2] + "/" + split[split.length-1];
console.log(desiredPath);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
Image path: <input type="text" id="imgPath">
<button id="getData">Click</button>