js 按要求格式化一段字符串, 求指导下

const str = '-50 5A 220V; +20 2.5 A 10V 10Hz, 10W(Input USA AV and Vietnam)'

写一个函数, 按要求格式化用户输入的内容.
判断正号或负号后面是否有一个空格, 如果没有, 则插入一个空格
A V Hz W 判断这些单位前面是否有一个空格, 如果没有则插入一个空格.

求指教, 有什么方法按这个要求格式话上面的字符串? 字符串是用户输入的, 所以说不定会输入了什么样的格式.

阅读 1.8k
2 个回答
"-50 5A 220V; +20 2.5 A 10V 10Hz, 10W(Input USA AV and Vietnam)"
  .replace(/((?<=[0-9])(A|V|Hz|W))|\+|-/g, (...args) => {
    if (args[0] === "+" || args[0] === "-") return args[0] + " ";
    else return " " + args[0];
  })
  .replace(/\s+/g, " ");
const str = '-50 5A 220V; +20 2.5 A 10V 10Hz, 10W(Input USA AV and Vietnam)'
            const reg1 = /([+-])(?! )/g;
            const reg2 = /(?<! )(A|V|(Hz)|W)/g
            const result = str.replace(reg1, '$1 ').replace(reg2, ' $1');
            console.log(result);

这样试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题