2017-08-11 47 views
0
var oldString = "Test---NEWLINE------NEWLINE---This is another line.---NEWLINE---And another line.---NEWLINE------NEWLINE------NEWLINE---One more line."; 

我只想要一個「--- NEWLINE ---」一次出現。如果有多個彼此相鄰,我希望它們被刪除。因此,新的字符串將是:刪除特定的重複字符串(但留下一個)

var newString = "Test---NEWLINE---This is another line.---NEWLINE---And another line.---NEWLINE---One more line."; 
+0

讓我們看看你先試了一下,努力吧。 –

回答

1

取而代之的是一個不錯的選擇:

var newString = oldString.replace(/(---NEWLINE---){2,}/g, '---NEWLINE---'); 

但只有多 「--- NEWLINE ---」。

0

真正笨的辦法:

replace("---NEWLINE------NEWLINE---", "---NEWLINE---").replace("---NEWLINE------NEWLINE---", "---NEWLINE---") 

第一個還會留下一個雙左,第二次將整理了這一點。

1

托爾有一個解決方案,這裏有另外一個啞巴,處理的---換行的量---發生一起:

var oldString = "Test---NEWLINE------NEWLINE---This is another line.---NEWLINE---And another line.---NEWLINE------NEWLINE------NEWLINE---One more line."; 

var split = oldString.split('---NEWLINE---'); 
var newSplit = []; 
for (var i = 0; i < split.length; i++) { 
    if (split[i].length != 0) { 
     newSplit.push(split[i]); 
    } 
} 

var newString = newSplit.join('---NEWLINE---'); 
0

大概就像下面,假設你各執空間。

var stringParse = oldString.split(" "); 
var count = 0; 
for (var i = 0; i < stringParse.length; i++){ 
    if (count == 0 && stringParse[i] == '---NEWLINE---'){ 
     count ++; 
    } else if (count > 0 && stringParse[i] == '---NEWLINE---'){ 
     stringParse[i] = ""; 
    } 
} 
var newString = stringParse.join(" "); 

我認爲,通過NEWLINE你的意思是\ n,而連字符是你省略文本而不是文字連字符。

+1

此解決方案不起作用。 – Brant

+0

我沒有實際測試過它。我哪裏做錯了? – Link0352

+0

嗯,讓我再次檢查。以爲我有爲什麼,但我的第一個猜測是絞刑。 – Brant

0

您可以通過換行將字符串拆分爲數組,然後刪除空數組元素並重新加入。

var str = "Test---NEWLINE------NEWLINE---This is another line.---NEWLINE---And another line.---NEWLINE------NEWLINE------NEWLINE---One more line."; 

var newStr = str.split("---NEWLINE---").filter(function (el) { 
    return el.length; 
}).join("---NEWLINE---"); 
0
while (oldstring.Contains("---NEWLINE------NEWLINE---")) 
{ 
    oldstring.Replace("---NEWLINE------NEWLINE---","---NEWLINE---"); 
} 
相關問題