簡體   English   中英

用正則表達式中的字符替換字符串

[英]Replace string with Characters in Regex

我需要替換這個字符串:

var img = "<img class='messages-emoji' src='js/message/emoji/thumbsup.gif'>" ;

有了這個:

(微笑)

這是我嘗試過的:

var new = img.replace("<img class='messages-emoji' src='js/message/emoji/thumbsup.gif'>", "(smile)");

我需要在Regex Javascript 中替換它

我認為問題在於您使用保留字new作為變量名。 我建議改變一些不同的東西:

 var newImg = img.replace("<img class='messages-emoji' src='js/message/emoji/thumbsup.gif'>", "(smile)");

正如其他人指出的那樣,正則表達式對於這個用例沒有意義,出於多種原因,簡單的字符串替換更好。

當您想用可變部分替換字符串時,通常會使用正則表達式,但您知道源字符串的某些(模式)。 在你的例子中,如果src屬性可以是任何東西,但你知道標簽總是會有messages-emoji類(盡管即使在這種情況下,也有更好的方法來實現這一點)。

也就是說,我會保留我的答案,因為它似乎確實解決了您的問題。


這里有很多錯誤:

  • new關鍵字是 JavaScript 中的保留字,您需要在此處為​​變量選擇不同的名稱,否則會出現語法錯誤。
  • 您的字符串包含/字符,用於表示 JavaScript 中的文字正則表達式。 您需要使用\\字符對其中的每一個進行轉義。
var img = "<img class='messages-emoji' src='js/message/emoji/thumbsup.gif'>";
var regex = /<img class='messages-emoji' src='js\/message\/emoji\/thumbsup.gif'>/;

var newImg = img.replace(regex, "(smile)");

暫無
暫無

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

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