我有一个带有 HTML 换行符的文本字符串。有些 <br>
紧跟在两个分隔符 «...»
之间的数字后面,有些则不然。
这是字符串:
var str = ("«1»<br>«2»some text<br>«3»<br>«4»more text<br>«5»<br>«6»even more text<br>");
我正在寻找一个条件正则表达式,它可以删除数字和分隔符(例如 «1»
)以及换行符本身,而不删除字符串中的所有换行符。
例如,在示例字符串的开头,当脚本遇到 »<br>
时,它将删除左侧第一个 «
之间(包括其中)的所有内容,直至 »<br>
(例如 «1»<br>
) 。但它不会删除 «2»some text<br>
。
我已使用以下方法some help删除了整个数字/分隔符(例如 «1»
):
var regex = new RegExp(UsedKeys.join('|'), 'g');
var nextStr = str.replace(/«[^»]*»/g, " ");
我当然希望这是有道理的。
非常清楚的是,当字符串在浏览器中呈现时,我想从此......
《1》
《2》一些文字
《3》
«4»更多文字
《5》
《6》更多文字
对此...
《2》一些文字
«4»更多文字
《6》更多文字
非常感谢!
最佳答案
也许我在这里忽略了一个微妙之处,如果是这样,我深表歉意。但似乎你可以用正则表达式替换:/«\d+»<br>/g
。这将替换 «
之间出现的所有数字。 & »
接下来是 <br>
var str = "«1»<br>«2»some text<br>«3»<br>«4»more text<br>«5»<br>«6»even more text<br>"
var newStr = str.replace(/«\d+»<br>/g, '')
console.log(newStr)
要匹配字母和数字,您可以使用 \w
而不是\d
var str = "«a»<br>«b»some text<br>«hel»<br>«4»more text<br>«5»<br>«6»even more text<br>"
var newStr = str.replace(/«\w+?»<br>/g, '')
console.log(newStr)
关于javascript - JS 条件正则表达式,删除两个分隔符之间字符串的不同部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51315724/