1

使用下面的字符串,如何编写正则表达式以仅删除或单独保存符号后出现的#字符。

var category = "http://schemas.google.com/g/2005#work"
4

2 回答 2

2

您可以使用此正则表达式:

var category = "http://schemas.google.com/g/2005#work";
var hashval = category.replace(/^[^#]*#([\s\S]*)$/, '$1');
//=> work

或者更好地使用 String#match:

var hashval = category.match(/#([\s\S]*)$/)[1];
//=> work
于 2013-11-04T18:30:06.993 回答
0

好的方法是让浏览器完成繁重的工作。

var category = "http://schemas.google.com/g/2005#work",
    link = document.createElement('a'),
    hash;

link.href = category;

hash = link.hash;

这会让您的浏览器创建一个a元素并将该元素的href属性设置为category. 然后浏览器解析 URL。链接的hash属性是#URL 中的后面的位。

前段时间我回答了一个类似的问题,对此代码进行了更完善的版本。

于 2013-11-04T18:46:34.320 回答