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

Node.js字符串处理:如何修改代码实现文件序号放在后缀名之前

实现方案

你当前的代码是直接把序号拼接在完整文件名末尾,所以后缀会出现在序号前,只需拆分文件名主体和后缀,将序号插入两者中间即可。

调整后代码

// 查找最后一个.的位置,拆分文件名主体和后缀
const dotPosition = params.strdocumentname.lastIndexOf('.');
const nameMain = params.strdocumentname.slice(0, dotPosition);
const suffix = params.strdocumentname.slice(dotPosition);

// 按预期格式拼接新文件名
let NewName = `${nameMain} (${results.rows[0].arrayfilecount})${suffix}`;
strdocumentname = params.strdocumentname = NewName;

代码说明

  • 用lastIndexOf('.')定位最后一个小数点的位置,兼容文件名本身包含多个小数点的场景(比如report.v1.doc也能正确拆分)
  • 拼接时在序号前新增了空格,符合你需要的格式

兼容无后缀文件名的优化版本

如果存在无后缀的文件,可以加判断避免报错:

const dotPosition = params.strdocumentname.lastIndexOf('.');
let NewName;
if (dotPosition === -1) {
  // 无后缀文件直接把序号拼在末尾
  NewName = `${params.strdocumentname} (${results.rows[0].arrayfilecount})`;
} else {
  const nameMain = params.strdocumentname.slice(0, dotPosition);
  const suffix = params.strdocumentname.slice(dotPosition);
  NewName = `${nameMain} (${results.rows[0].arrayfilecount})${suffix}`;
}
strdocumentname = params.strdocumentname = NewName;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:57:02