我正試圖創建一個用于替換這種字串的重碼 :
(x bla bla bla)
我想用(x)替換(x bla bla),然后添加新的文本
。這里是我的 jsfiddle : Jsfiddle
這里是我的代碼 :
var StartingLetter = 'x'/span>;
var NewText = 'Dadidu'.
var regexTest = new RegExp('(' StartingLetter )'。 "g")。)
$('.select_list option').text(function(i, oldText) {
//BlankText transform (x bla bla bla) by (x) ==> Doesnt work
var BlankText= oldText.replace(/(' StartingLetter '*? )/, '(' StartingLetter ') ')
//Then i replace with the new sentence (x) by (x Dadidu)
return oldText。 replace(regexTest, StartingLetter ' NewText) 。
});
uj5u.com熱心網友回復:
你需要修改代碼如下:
。$(document)。 ready(function() {
var StartingLetter = 'x'/span>;
var NewText = 'Dadidu'.
$('.select_list option').text(function(i, oldText) {
return oldText.replace(new RegExp(String. raw`((${StartingLetter}) [^()]*)`, 'g'), `($1 ${NewText})`)
})
});
<script src="https://cdnjs. cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>/span>
<script src="https://altair-html. tzdthemes.com/assets/js/common.min.js"></script>
<select class="select_list"/span>>
<option>Hello option A (x blabla bla)</option>/span>
<option>你好選項B(x dididdidi)</option>
</select>/span>
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
在這里,
new RegExp(String.raw`((${StartingLetter})[^()]*)`,'g')動態地宣告一個重碼,String.raw幫助避免加倍反斜線,g允許匹配字串中所有不重疊出現的內容。注意添加的[^()]*部分,它匹配圓括號以外的零個或多個字符,${StartingLetter}被捕獲的圓括號包裹 。
($1 ${NewText})是替換模式,$1代表捕獲的第1組值,${NewText}是你想追加到(x部分的單詞。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/332389.html
標籤:
上一篇:存盤和訪問資料框架物件
