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

如何用JavaScript开发可补全用户输入缺失双引号的小工具?

需求背景:开发一款JavaScript小工具,修复用户输入的object1:"key1 key2" object2:"key3 key4"格式字符串中缺失的开闭引号,不需要现成代码,要可行的实现思路。

实现思路
  • 首先梳理清楚合法格式的判定规则
    • 每一个独立项的结构为[标识符]:"[键内容]",标识符仅包含字母、数字、下划线,键内容允许包含空格,不同项之间用空格分隔
    • 全局引号总数量为偶数,每一个开引号"必须对应一个闭引号"
  • 第一步:做基础字符扫描,维护状态变量
    • 初始化isInQuote状态为false,代表当前不在引号包裹的键内容范围内,从头逐字符遍历输入字符串
    • 扫描到:字符时,如果isInQuote为false,说明接下来应该是键内容的开引号,如果下一个字符不是",直接插入一个开引号,同时把isInQuote设为true
  • 第二步:识别引号闭合的边界
    • 扫描到空格字符时,如果isInQuote为true,先向后预扫描若干字符,判断后续内容是否符合[标识符]:的新项前缀规则
    • 如果后续是新的项前缀,说明当前键内容已经结束,直接在当前空格前插入一个闭引号,同时把isInQuote设为false
  • 第三步:收尾补全
    • 整段字符串遍历结束后,如果isInQuote还是true,说明最后一个键的闭引号缺失,直接在字符串末尾补一个闭引号
  • 第四步:场景验证
    • 把所有你能想到的错误场景列出来逐一测试,比如缺开引号、缺闭引号、连续多个项都缺引号、首尾缺引号等,调整逻辑适配边界情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:36:01