如何将domain.com/foo/bar/baz/转换为'foo bar baz'之类的字符串?

时间:2012-02-13 16:18:34

标签: javascript regex

基本上我希望能够获取网址的结尾,并将其转换为字符串以便在某处使用。

目前我正在这样做(这不是最佳的):

// grab the path, replace all the forward slashes with spaces
local_path = location.pathname.toString().replace(/\//g,' ');

// strip empty spaces from beginning / end of string
local_path.replace(/^\s+|\s+$/g,""));

但我认为可能有更好的方法。帮助

编辑:我可以放心地摆脱那里的.toString方法吗?

3 个答案:

答案 0 :(得分:3)

如果你想避免使用正则表达式,你可以这样做:

location.pathname.substring(1).split('/').join(' ')

这将摆脱最初的斜线,但不会处理拖尾斜线。如果您需要处理这些问题,可以省略substring并使用trim进行现代实施或正则表达式:

location.pathname.split('/').join(' ').replace(/^\s+|\s+$/g, '')

答案 1 :(得分:1)

你有什么问题?看起来很好。这是处理你想做的事情的最简单方法。

答案 2 :(得分:1)

您可以使用Douglas Crockford在http://www.coderholic.com/javascript-the-good-parts/上提供的正则表达式,然后将路径拆分为正斜杠。