繁体   English   中英

javascript - 连接字符串,删除中间的多个空格,并修剪每个单词

[英]javascript - Join Strings, Remove Middle Multiple Spaces, and Trim Each Word

以下将连接多个单词并删除所有“虚假”值(空值、未定义、空字符串等)。

combinedAddress = [address, city, state, zip].filter(Boolean).join(", ");

此外,这将删除单个空格中的所有中间多个空格。

city.replace(/\s+/g, ' ')

目标:

  1. 我需要组合所有单词 - 仅当字符串不为空或不为空时才字符串与分隔符连接起来
  2. 删除中间多个空格 - 用 Ja​​vaScript 字符串中的单个空格替换多个空格
  3. 还从每个单词中完全删除前导和尾随空格。

最终结果如下。 只是好奇是否有任何方法可以简化这一点,或者这是最佳实践语法? 我们正在使用 Angular 8 Typescript(Javascript 的子集)。

combinedAddress = [address.replace(/\s+/g, ' ').trim(), city.replace(/\s+/g, ' ').trim(), state.replace(/\s+/g, ' ').trim(), zip.replace(/\s+/g, ' ').trim()].filter(Boolean).join(", ");

仅当字符串不为 null 或为空时才使用分隔符连接字符串

用 JavaScript 字符串中的单个空格替换多个空格

您可以将其作为单行内容,例如:

combinedAddress = [address, city, state, zip].filter(Boolean).map(elem=>elem.replace(/\s+/g, ' ')trim()).join(", ");

虽然有时临时变量更清晰:

let addresses = [address, city, state, zip];
let addresspart2 = addresses.filter(Boolean)
let addresspart3 = combinedAddress.map(elem=>elem.replace(/\s+/g, ' ').trim()).join(", ");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM