繁体   English   中英

使用JavaScript中的通配符从字符串中获取子字符串

[英]Get a substring from a string using a wildcard in javascript

我有一个字符串/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之间的任何文本都可以替换为某些文本。 希望你明白我的意思。

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

 var parts = '/test/file/sometext/public/image'.split('/'); console.log( parts.slice(2, 5).join('/') ); 

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

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

您可以使用正则表达式来做到这一点。

 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); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM