【问题标题】:Remove first folder in string删除字符串中的第一个文件夹
【发布时间】:2018-04-12 19:06:39
【问题描述】:

我有一个文件夹路径,它总是以我要删除的某个字符串开头。假设它看起来像这样:

my-bucket/2929023/32822323/file.jpg

我希望它看起来像这样:

2929023/32822323/file.jpg

我该怎么做?谢谢!

【问题讨论】:

  • .split('/').slice(1).join('/')
  • "总是以某个字符串开头" - 这样你就知道要静态删除的东西的长度,并且可以硬编码str.slice(10)

标签: javascript


【解决方案1】:

使用来自String.prototype 的函数substringindexOf

var str = "my-bucket/2929023/32822323/file.jpg";
console.log(str.substring(str.indexOf('/') + 1))

【讨论】:

  • 这是最好的答案(除了 Bergi 的 cmets)。正则表达式替换是多余的,其他答案有问题,具体取决于第一个 / 之后的字符串的其余部分。
【解决方案2】:

如果字符串只出现一次,您可以使用简单的替换方法;

var string = "my-bucket/2929023/32822323/file.jpg";

var revisedString = string.replace('my-bucket/', '');

console.log(revisedString);

但是,您也可以使用 Regex(正则表达式)来删除它,例如;

var string = "my-bucket/2929023/32822323/file.jpg";

console.log(string.replace(/^my-bucket\//, ''));

【讨论】:

  • 这是个坏主意,因为my-bucket/2929023/my-bucket/32822323/file.jpg 会变成/2929023//32822323/file.jpg,即。它可能会删除太多。
【解决方案3】:

使用正则表达式删除第一个。不需要子字符串。

var myString= "my-bucket/2929023/32822323/file.jpg";

myString = myString.replace(/^.+?[/]/, '');

【讨论】:

    猜你喜欢
    • 2011-06-24
    • 2021-04-05
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    相关资源
    最近更新 更多