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

JavaScript中如何将air-quality-indoor还原为Air Quality - Indoor?

如何将格式化后的字符串还原为原始格式?

问题背景

原始字符串为 Air Quality - Indoor,通过以下代码转换为小写连字符格式的 air-quality-indoor:

var str = "Air Quality - Indoor";
var str2 = str.replace(/-/g, '').replace(/\s+/g, '-').toLowerCase();
// 输出:air-quality-indoor

还原难点

原转换过程中丢失了关键信息:

  1. 原字符串中的 - 被直接删除,后续所有空格(包括原 - 两侧的空格)被统一替换为 -,导致无法区分格式化后 - 对应的是原空格还是原 - 的位置;
  2. 所有字母被转为小写,丢失了原单词的首字母大写格式。

针对性还原方案(已知原格式结构)

如果明确原字符串的固定格式(比如是「多单词前缀 + " - " + 后缀单词」),可以通过以下代码还原:

const formattedStr = "air-quality-indoor";
// 1. 分割为单词数组并恢复每个单词的首字母大写
const words = formattedStr.split('-').map(word => 
  word.charAt(0).toUpperCase() + word.slice(1)
);
// 2. 根据原格式拆分拼接(这里原格式是前2个单词为前缀,最后1个为后缀)
const prefix = words.slice(0, 2).join(' ');
const suffix = words[words.length - 1];
const originalStr = `${prefix} - ${suffix}`;

console.log(originalStr); // 输出:Air Quality - Indoor

通用情况说明

如果没有原字符串的结构信息,无法100%精准还原——因为格式化后的 - 同时对应原字符串的空格和被删除的 -,没有足够信息区分两者的位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 01:57:25