2017-08-11 44 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---"); 
} 
相关问题