簡體   English   中英

刪除字符串中的最后一個換行符

[英]Removing last line break in string

我有一個名稱(變量名)列表,在運行其他代碼以添加或刪除名稱后,我想將其放置在名為nameupdated的列表中:

var names = new Array('Alice', 'Bryan', 'Catherine', 'Douglas', 'Emma', 'Frank'); 
var name = "";
var nameupdated = "";
var text = "";

for(var i in names){
name = names[i];
  if (name == "" || name == text || typeof(name) == undefined)
  {

  }
  else{
    nameupdated = nameupdated + name + "\n";
  }
}

我似乎無法刪除最后一個換行符,但是我嘗試操縱代碼。 任何有任何想法的人如何?

如果使用.filter刪除要排除的項,然后使用.join和換行符,則邏輯可能會更加清晰。 注意,數組文字通常比使用new Array構造函數更好:

 var text = 'foo'; var names = [ 'Alice', 'Bryan', 'Catherine', 'Douglas', 'Emma', 'Frank' ]; var nameUpdated = names .filter(name => !(name == "" || name == text || typeof(name) == undefined)) .join('\\n'); console.log(nameUpdated); 

  1. 首先嘗試如果您要刪除最后一個換行符,則可以在一行中完成。
  2. 如果您想new line請嘗試第二個

 var names = [ 'Alice', 'Bryan', 'Catherine', 'Douglas', 'Emma', 'Frank' ]; //Array with \\n var result = [...names].map((d, i) => i < names.length-1 && (name => !(name == "" || name == text || typeof(name) == undefined)) ? d+'\\n' : d); //String with new line after each element var result1 = [...names].map((d, i) => i < names.length-1 && (name => !(name == "" || name == text || typeof(name) == undefined))? d+'\\n' : d).join(''); console.log(result); console.log(result1); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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