如何删除字符串的第一个和最后一个字符

Pea*_*nut 146 javascript string

我想知道如何在Javascript中删除字符串的第一个和最后一个字符.

我的网址正在显示/installers/,我只想要installers.

有时会是/installers/services/,我只是需要installers/services.

所以我不能简单地删除斜线/.

Die*_*erg 319

干得好

var yourString = "/installers/";
var result = yourString.substring(1, yourString.length-1);

console.log(result);
Run Code Online (Sandbox Code Playgroud)

或者您可以.slice按照Anka Gupta的建议使用

var yourString = "/installers/services/";

var result = yourString.slice(1,-1);

console.log(result);
Run Code Online (Sandbox Code Playgroud)

切片子字符串的文档.

  • @Martijn这正好回答了这个问题.没有人说你不想除了斜线之外的任何东西;).来自我的+1 - 代码应该说它应该做什么,而不是像这里的正则表达式示例. (7认同)
  • 但是,如果网址没有以斜线结尾,则需要1个字符 (6认同)
  • 但是,如果您要移动到另一台服务器,则斜杠可能不存在(或者可能是您故意配置的更改)。不是反对,只是指出:) (2认同)

Ank*_*pta 116

使用切片可能更好一点:

string.slice(1, -1)
Run Code Online (Sandbox Code Playgroud)


lea*_*eaf 13

我不认为jQuery与此有任何关系.无论如何,请尝试以下方法:

url = url.replace(/^\/|\/$/g, '');
Run Code Online (Sandbox Code Playgroud)

  • 这看起来是迄今为止最正确的一个。唯一的事情,我会添加一个量词,以防万一:`/^\/+|\/+$/g`。 (2认同)

Mar*_*ijn 6

你可以正则表达它:

"string".replace(/^\/?|\/?$/, "")
"/installers/services/".replace(/^\/?|\/?$/, "") // -> installers/services
Run Code Online (Sandbox Code Playgroud)

正则表达式解释说:
- 可选的第一个斜杠:^/?,转义 - > ^\/?(^表示字符串的开头)
- 管道(|)可以读作or
- 比结尾处的选项斜杠 - > /?$,转义 - > \/?$($表示字符串的结尾) )

结合它将是^/?|/$没有逃脱.可选的第一个斜杠或可选的最后斜杠

  • 我认为你需要使用全局标志来完成这项工作:"/ installers /services /".replace(/^\/?|\/?$/g,"") (2认同)