Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript从字符串或链接中删除、减少或修剪字符串_Javascript - Fatal编程技术网

Javascript从字符串或链接中删除、减少或修剪字符串

Javascript从字符串或链接中删除、减少或修剪字符串,javascript,Javascript,我有以下链接/字符串: https://link/to/a/file/filename.ext 我的JS技能现在已经生锈了,我需要修剪/最后一个实例的链接,这样我就可以分离目录和文件名(文件扩展名附在文件名上) 您可以使用split()和join() var字符串class='1〕https://link/to/a/file/filename.ext'; const strArray=string.split('/'); var file=strArray.pop();; var direc

我有以下链接/字符串:

https://link/to/a/file/filename.ext
我的JS技能现在已经生锈了,我需要修剪
/
最后一个实例的链接,这样我就可以分离目录和文件名(文件扩展名附在文件名上)

您可以使用
split()
join()

var字符串class='1〕https://link/to/a/file/filename.ext';
const strArray=string.split('/');
var file=strArray.pop();;
var directory=strArray.join('/');
log(文件、目录)您可以使用
split()
join()

var字符串class='1〕https://link/to/a/file/filename.ext';
const strArray=string.split('/');
var file=strArray.pop();;
var directory=strArray.join('/');
log(文件、目录)
/
其他解决方案在最后一个
/
处拆分整个url,但实际上,您可能会遇到搜索参数包含
/
的情况。例如,单个登录的重定向参数

下面的示例首先使用
URL
对象来解析URL,这样您就不必处理它,然后只使用路径名来获取所需的部分:

//基于真实的SSO url
var u=新URL('https://idp.blarg.edu/made/up/url/file.ext?service=https://some.webservice.blarg.edu/some/thing/on/the/internet.net?FolderPath=thingy.CO_EMPLOYEE_SELF_SERVICE.BLARG%26IsFolder=false%26IgnoreParamTempl=FolderPath%2cIsFolder%26');
//仅在最后一个/,(无url参数)上拆分路径
//我喜欢这里的正则表达式,因为它可以精确地拆分为2,但是split()可能更可读。。。
[\u路径,文件]=u.pathname.match('^(.*)/([^/]*)$);
console.log(u.origin+path);
console.log(文件)
/
其他解决方案在最后一个
/
处拆分整个url,但实际上,您可能会遇到搜索参数包含
/
的情况。例如,单个登录的重定向参数

下面的示例首先使用
URL
对象来解析URL,这样您就不必处理它,然后只使用路径名来获取所需的部分:

//基于真实的SSO url
var u=新URL('https://idp.blarg.edu/made/up/url/file.ext?service=https://some.webservice.blarg.edu/some/thing/on/the/internet.net?FolderPath=thingy.CO_EMPLOYEE_SELF_SERVICE.BLARG%26IsFolder=false%26IgnoreParamTempl=FolderPath%2cIsFolder%26');
//仅在最后一个/,(无url参数)上拆分路径
//我喜欢这里的正则表达式,因为它可以精确地拆分为2,但是split()可能更可读。。。
[\u路径,文件]=u.pathname.match('^(.*)/([^/]*)$);
console.log(u.origin+path);

console.log(文件)谢谢你。我有点期待在这个问题中会出现更多不同的答案谢谢你。我有点期待在这个问题上会出现更多不同的答案
var string = 'https://link/to/a/file/filename.ext';

var directory = 'https://link/to/a/file/'; // should have a value of 'https://link/to/a/file' coming from var string
var file = 'filename.ext'; // should have a value of 'filename.ext' coming from var string
var string = 'https://link/to/a/file/filename.ext';     
directory = string.substring(0, string.lastIndexOf("/"));
console.log(directory);
file = string.substr(string.lastIndexOf("/")+1);
console.log(file);