You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何去除字符串单词间多余空格并保留单个空格分隔?

城市名空格规范化处理方案

问题原因

trim() 方法仅支持移除字符串首尾的空白字符,无法处理字符串内部的连续多空格场景,因此单独使用达不到预期效果。

可行实现方案

方案1:正则替换(推荐,适配全类型空白字符)

先通过trim()移除首尾空白,再通过正则全局匹配所有连续空白字符,替换为单个空格即可:

const city = "New         York     ";
// 处理逻辑
const formattedCity = city.trim().replace(/\s+/g, ' ');
console.log(formattedCity); // 输出:"New York"

正则说明:\s+ 匹配任意数量的连续空白(包括空格、制表符、换行符等),g 标识代表全局匹配,确保所有连续空白都被替换。

方案2:数组拆分拼接(无正则写法)

通过空格拆分字符串后过滤掉空值,再用单个空格拼接:

const city = "New         York     ";
// 处理逻辑
const formattedCity = city.split(' ').filter(Boolean).join(' ');
console.log(formattedCity); // 输出:"New York"

逻辑说明:连续空格拆分后会生成多个空字符串,filter(Boolean)会直接过滤掉所有空值,最终拼接时只会保留单词间的单个空格。

处理后直接将formattedCity存入state即可满足需求。

内容的提问来源于stack exchange,提问作者Andres

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 07:36:03