如何删除段落中的额外行

时间:2017-01-14 07:58:18

标签: javascript

我有一条来自api的信息:

例如,

"

  1. Assist food and technology department in record keeping and filing"

如何删除额外的行?

2 个答案:

答案 0 :(得分:0)

一般来说,有3种类型的东西会产生不需要的新行:

  • 换行\n
  • 回车\r
  • <br/>代码

JavaScript支持使用replace()函数的正则表达式:

s = s.replace(/[\r\n]+|<br *\/?>/g, " ");

注1:我在?标记的/之后添加了<br/>,因为很多浏览器都没有插入该字符,因此非常可能不存在。

注意2:我在换行符之前和之后的空格之间放置一个空格,这意味着单词仍将按预期分开。

如果要从字符串的开头和结尾进行修剪,可以使用:

s = s.replace(/^(<br *\/?>| |\t|\n|\r|\v|\f|&nbsp;|&#160;|&#xA0;)+/, "")
     .replace(/(<br *\/?>| |\t|\n|\r|\v|\f|&nbsp;|&#160;|&#xA0;)+$/, "");

请注意,\s+可能包括也可能不包含它们在我的正则表达式中出现的所有字符。事情的出现取决于使用的浏览器。

答案 1 :(得分:0)

只需删除字符串开头和结尾的所有空格。这就是.trim()的作用:

s = `

  1. Assist food and technology department in record keeping and filing
  
  `;
s = s.trim();
console.log(s);

trim()的替代方案(如果您的浏览器不支持它?)将是一个正则表达式:

s = '\n\n1. Assist food and technology department in record keeping and filing   \n \r\n   ';
s = s.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
console.log(s);