[英]Js trim string with substring
我有這樣的字符串:
var test = 'vv<br>cfvxcv<br> <br>vv xcv x<br> <br> <br> <br>';
需要從最后刪除所有 <br>
。 結果必須為: vv<br>cfvxcv<br> <br>vv xcv x
我試過了:
test = test.replace(/^\ <br>+|\ <br>+$/g, '');
但這是行不通的。
const trimS = (str, delimiter) => {
const pattern = `[^\\${delimiter}]`;
// const start = str.search(pattern); // trim both sides
const start = 0; // trim only right side of string
const stop = str.length - str.split('').reverse().join('').search(pattern);
return str.substring(start, stop);
};
const test = 'vv<br>cfvxcv<br> <br>vv xcv x<br> <br> <br> <br>';
console.log(trimS(test, ' <br>'));
^
字符表示行的開始-您不需要此行。 但是+
僅適用於其前面的字符,因此您需要對它們進行分組才能使+
應用於該組,從而得到:
var test = 'vv<br>cfvxcv<br> <br>vv xcv x<br> <br> <br> <br>'; test = test.replace(/(\\ <br>)+$/g, ''); console.log(test, test == "vv<br>cfvxcv<br> <br>vv xcv x")
這不能引用工作,因為您的要求
從最后刪除
<br>
應該
刪除所有
和<br>
從頭開始
給予:
var test = 'vv<br>cfvxcv<br> <br>vv xcv x<br> <br> <br> <br>'; test = test.replace(/((\\ )|(<br>))+$/g, ''); console.log(test, test == "vv<br>cfvxcv<br> <br>vv xcv x")
子字符串返回字符串的開始和結束索引之間的字符串。
有關更多參考: https : //developer.mozilla.org/enUS/docs/Web/JavaScript/Reference/Global_Objects/String/substring
test = test.substring(0, 34)
輸出: 'vv<br>cfvxcv<br> <br>vv xcv x'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.