[英]Javascript Regex replace the 6th occurrence of ; (semicolon) with ;\n (semicolon and newline)
string = "bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;bla;";
bla是通配符。
我想通過在分號(;)的每第6次出現時插入換行符(\\ n)來更新我的字符串
我一直試圖用正則表達式做到這一點:
var myregexvar = textbox.value;
myregexvar = myregexvar.replace(/\u003b.*\u003b.*\u003b.*\u003b\b/, /$1\n/);
/ u003b是';'的unicode字符代碼
它不起作用。 救命!
嘗試匹配(([^;]*;){5}[^;]*);
並替換為$1\\n
。
第一個分組表達式([^;]*;){5}
尋找五個bla;
。 然后[^;]*
取第六個bla
(沒有;)。 所有這些都歸為$1
。 然后單獨匹配最后一個分號,以便將其省略並替換為替換表達式中的\\n
。
編輯
沒有意識到你想在每六個分號后添加 \\n
,而不是替換。 您可以使用這個更簡單的匹配表達式: ([^;]*;){6}
。
希望這個算法可以幫助你
$occurance = 6;
$count = 0;
while (/\u003b/gi) {
if (++$count == $occurance) {
myregexvar.replace(/\u003b/, /\n/);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.