目標是使用JS洗掉每行前面的4個制表符。
當前字串:
.mockuptext{
max-width: 40%。
min-width: 150px;
max-height: 70%。
margin: 3rem;
padding: calc(1rem 30px) 1.5rem 1rem 1rem。
}
期望的字串:
.mockuptext{
max-width: 40%。
min-width: 150px;
max-height: 70%。
margin: 3rem;
padding: calc(1rem 30px) 1.5rem 1rem 1rem。
}
uj5u.com熱心網友回復:
可能有多種方法可以做到這一點。由于你沒有分享這個問題的背景關系/用例,我假設你已經有一個訪問字串并將其存盤在一個變數中的方法。如果你有的話,你可以參考下面的代碼。
你可以使用正則運算式來查找并替換每行開頭的4個制表符的出現。
我用來匹配每行開頭的4個制表符的Regex是^ {4}gm:
- 在重組詞末尾的
gm標志代表全域(即回傳所有的匹配,而不僅僅是第一個)和多行;多行標志告訴重組詞匹配器在每一行而不是在字串的開頭進行匹配。 -
^匹配行的開頭 。
{4}匹配4個制表符。- 總的來說,這個詞組是在說 "尋找字串中每行開始的4個制表符的出現" 。
為了實際修改字串,我使用了replace方法。該方法接收一個重合詞,并將所有匹配的重合詞替換為該方法的第二個引數。
let s = `.
.mockuptext{
最大寬度:40%。
最小寬度: 150px;
max-height: 70%;
margin: 3rem;
padding: calc(1rem 30px) 1.5rem 1rem 1rem;
}
`。
console.log(s)。
console.log(s。 replace(/^ {4}/gm, ""/span>))
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
你也可以創建一個函式來封裝包裝,比如:
你可以創建一個函式來封裝包裝。
function replace4Tabs(s) {
return s.replace(/^ {4}/gm, ""/span>)
}
如果你有一個你想要更新的html元素,你可以使用
elem.innerHTML = replace4Tabs(elem.innerHTML);/code>
PS:
如果你是Regex的新手,我發現Regex101是一個偉大的資源。它將在你輸入時突出顯示匹配的內容,并提供關于Regex如何匹配https://regex101.com/r/7SxOEM/1
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331521.html
標籤:
