在javascript中使用通配符从字符串中获取子字符串

时间:2016-10-11 08:34:35

标签: javascript jquery

我有一个字符串/test/file/sometext/public/image和第二个字符串/test1/file/sometext1/public/image1

我希望得到从file开始到public结束的子字符串。

所以第一个字符串应该返回file/sometext/public/,而第二个字符串应该返回file/sometext1/public/

在每个字符串中,filepublic都是静态的。

我将如何在javascript中执行此操作?

基本上我需要这个

str = '/test/file/sometext/public/image';
var str1 = str.replace("file/sometext/public/", "");

但我需要一个通配符,以便某些文本可以替换filepublic之间的任何文本。希望你明白我的意思。

3 个答案:

答案 0 :(得分:1)

您可以使用 split() 将字符串拆分为字符串数组,其中 slice() 会返回部分字符串的浅表副本一个数组到一个新的数组对象,最后是 join() ,将数组的所有元素连接成一个最终的字符串:



var parts = '/test/file/sometext/public/image'.split('/');

console.log( parts.slice(2, 5).join('/') );




答案 1 :(得分:0)

如果所有字符串都遵循相同的文件夹结构,您可以将它们拆分为数组并使用所需的部分重建它,如下所示:



var arr = str = '/test/file/sometext/public/image'.split('/');
var str1 = arr[2] + '/' + arr[3] + '/' + arr[4] + '/';
console.log(str1);




答案 2 :(得分:0)

您可以使用正则表达式执行此操作。



var str = '/test/file/sometext/public/image';

var reg = /file\/[^\/]*\/public/i;
var replace = str.replace(reg, 'something');

console.log('before',str);
console.log('after',replace);