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

JS替换文件名中的符号数字后残留多余空格如何解决

问题原因

你把数字、-、_、(、)、.等字符直接替换为空字符串,这些字符原本所在位置的前后空格就会被保留,形成连续的多余空格。比如原字符串片段Image 2021-07-12 at,删掉中间的日期部分后,两侧的空格就会连在一起变成两个空格。

解决方案

分三步处理即可得到符合要求的结果:

  1. 先将所有不需要的字符统一替换为空格
  2. 把连续的多个空格合并为单个空格
  3. 去除字符串首尾的空格

优化后的代码如下:

function replaceString(string) {
  // 匹配所有数字、横杠、下划线、括号、点,替换为空格
  const tempStr = string.replace(/[\d\-_\(\).]/g, ' ');
  // 合并连续空格+去除首尾空格
  return tempStr.replace(/\s+/g, ' ').trim();
}

// 原有业务逻辑保持不变
var _filname = oFile.name;
var fileName = _filname.substr(0, _filname.lastIndexOf('.'));
$('#title').val(replaceString(fileName));

验证效果

输入文件名WhatsApp Image 2021-07-12 at 19.14.09 (4).jpeg,处理后输出结果为WhatsApp Image at,完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 08:39:02