我有一個字符串是這樣的:如何通過位置號從字符串中刪除字符?
var str = "this is a **test";
現在我想刪除這兩個星(位置10
和11
)。我想要這個:
var newstar = "this is a test";
再次,我想刪除他們使用他們的位置數量。我怎樣才能做到這一點?
我有一個字符串是這樣的:如何通過位置號從字符串中刪除字符?
var str = "this is a **test";
現在我想刪除這兩個星(位置10
和11
)。我想要這個:
var newstar = "this is a test";
再次,我想刪除他們使用他們的位置數量。我怎樣才能做到這一點?
您也可以使用string.replace
。
> var str = "this is a **test";
> str.replace(/^(.{10})../, '$1')
'this is a test'
^(.{10})
捕獲前10個字符和以下..
第11和第12字符匹配。所以通過用捕獲的字符替換所有匹配的字符將會給你預期的輸出。
如果要滿足那麼你的正則表達式必須是區位條件,加上性格codition,
str.replace(/^(.{10})\*\*/, '$1')
這將取代兩顆星,只有當它被放置在POS 11和12
您也可以使用RegExp
構造函數在正則表達式中使用變量。
var str = "this is a ***test";
var pos = 10
var num = 3
alert(str.replace(new RegExp("^(.{" + pos + "}).{" + num + "}"), '$1'))
)使用'..'對我來說真的很有趣..我喜歡+1,但實際上這些角色不一樣..請你也告訴我我怎麼能不用'..'? – stack
@stack'.'匹配除換行符之外的任何字符,如果你想匹配換行符,則使用'[\ s \ S]'而不是'.' –
用這個例子檢查一下'var str =「這是一個?ktest」;' –
您可以使用.slice兩次
var str = "this is a **test";
str = str.slice(0, 10)+ str.slice(11);
str=str.slice(0, 10)+str.slice(11);
'this is a test'
您可以使用
var str = "this is a **test";
var ref = str.replace(/\*/g, ''); //it will remove all occurrences of *
console.log(ref) //this is a test
後烏爾嘗試? –
@AvinashRaj這是我猜測的結果:'str.slice(' – stack