使用下面的字符串,如何编写正则表达式以仅删除或单独保存符号后出现的#
字符。
var category = "http://schemas.google.com/g/2005#work"
使用下面的字符串,如何编写正则表达式以仅删除或单独保存符号后出现的#
字符。
var category = "http://schemas.google.com/g/2005#work"
您可以使用此正则表达式:
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
好的方法是让浏览器完成繁重的工作。
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 中的后面的位。
前段时间我回答了一个类似的问题,对此代码进行了更完善的版本。