簡體   English   中英

Javascript Regex取代第6次出現; (分號)with; \\ n(分號和換行符)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM