Javascript 需要正则表达式替换整个folderpath,同时保留文件名,因为最后一个文件夹可能会被任何内容替换
我需要一个正则表达式,它可以替换像这样的东西,但保留文件名 /folder1/folder2/folder3/anything/somefile.html 还有人能告诉我如何用replace方法实现这个吗?将整个路径匹配替换为空字符串,然后再次离开文件,这将是任何内容Javascript 需要正则表达式替换整个folderpath,同时保留文件名,因为最后一个文件夹可能会被任何内容替换,javascript,regex,Javascript,Regex,我需要一个正则表达式,它可以替换像这样的东西,但保留文件名 /folder1/folder2/folder3/anything/somefile.html 还有人能告诉我如何用replace方法实现这个吗?将整个路径匹配替换为空字符串,然后再次离开文件,这将是任何内容 提前感谢。您可以使用*\/ 将匹配任何内容 *将重复前面的零次或更多次。 \/是文本斜杠(/)。但需要转义,因为它是正则表达式构造的一部分: var str = '/folder1/folder2/folder3/anything
提前感谢。您可以使用
*\/
将匹配任何内容*
将重复前面的零次或更多次。\/
是文本斜杠(/
)。但需要转义,因为它是正则表达式构造的一部分:
var str = '/folder1/folder2/folder3/anything/somefile.html';
str.replace(/.*\//, ''); // "somefile.html"
您可以使用
*\/
将匹配任何内容*
将重复前面的零次或更多次。\/
是文本斜杠(/
)。但需要转义,因为它是正则表达式构造的一部分:
var str = '/folder1/folder2/folder3/anything/somefile.html';
str.replace(/.*\//, ''); // "somefile.html"
您可以在不使用正则表达式的情况下执行此操作:
var filename = string.split('/').pop();
// "somefile.html"
您可以在不使用正则表达式的情况下执行此操作:
var filename = string.split('/').pop();
// "somefile.html"
我更新了我的问题。只需在不影响文件的情况下替换路径。@JudsonTerrell不是这样吗?这样看来,您的解决方案可以有无限级吗?@JudsonTerrell正则表达式将删除包括最后一个斜杠在内的所有内容。我更新了我的问题。只需在不影响文件的情况下替换路径。@JudsonTerrell不是这样吗?这样看来,您的解决方案可以有无限级吗?@JudsonTerrell正则表达式删除所有直到并包括最后一个斜杠。我想知道是否真的是为了对每个可能的分隔符都有一个StackOverflow的答案字符…要获取路径或文件名吗?我想知道是否真的需要对每个可能的分隔符字符的StackOverflow给出答案…要获取路径或文件名吗?@anubhava。反勾号称为字符串文字,它们不需要括号来执行函数。是的,我知道,但所有浏览器都支持它们吗?我想说现代浏览器支持,但你是对的,最好现在就避免使用它们。@anubhava。反勾号称为字符串文字,它们不需要括号来执行函数。是的,我知道,但所有浏览器都支持它们吗?我想说现代浏览器支持,但你是对的,最好现在就避免使用它们。