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



以下内容将连接多个单词并删除所有"falsy"值(null,undefineds,空字符串等(。

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

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

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

目标:

  1. 我需要组合所有单词 - 仅当字符串不为空或为空时才使用分隔符连接字符串
  2. 删除中间的多个空格 - 用 JavaScript 字符串中的单个空格替换多个空格
  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].map(elem=>elem.replace(/s+/g, ' ').trim()).filter(Boolean).join(", ");

虽然有时温度变量更清晰:

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

最新更新