簡體   English   中英

RegEx-在特定字符(#)之后獲取所有字符

[英]RegEx - Get All Characters After A Specific Character (#)

使用下面的字符串,如何編寫正則表達式以刪除或單獨保存僅出現在#符號后面的字符。

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元素並將a元素的href屬性設置為category 瀏覽器然后解析URL。 鏈接的hash屬性是URL中#后面的位。

不久前,我回答了一個類似的問題 ,並用了更完善的代碼。

我認為另一種方式是使用捕獲組

\#(.*)

這樣,可以創建其他不同的組來捕獲不同的元素。

希望這可以幫助= D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM