如何在驼峰式键名之间添加空格?

kla*_*tar 4 html javascript json mailgun nodemailer

我创建了一个 node.js 网站,潜在员工可以通过该网站申请工作。当他们提交申请表时,我使用 Nodemailer 和 mailgun 向招聘经​​理发送一封包含申请人信息的电子邮件。它向新申请人的对象发送了键值对,但我想在包含多个单词的键之间放置一个空格,并将它们设为大写,以便更美观一点。我怎样才能做到这一点?

这是带有输出键值对的示例电子邮件

在此输入图像描述

这是发送电子邮件的代码

function sendAppliedEmail(applicant) {


let html = '<img src="" alt="logo">';
  html += '<h2 style="color: black">New Applicant</h2>'
  html += '<ul>';

  Object.entries(applicant).forEach(([key, value]) => {
    html += `<li>${key}: ${value}</li>`;
  });

  html += '</ul>';
Run Code Online (Sandbox Code Playgroud)

d-h*_*h-e 7

replace(/([a-z])([A-Z])/g, `$1 $2`)
Run Code Online (Sandbox Code Playgroud)


您可以替换所有 lowerUpper 匹配项。

每次小写字符后跟大写字符时,正则表达式都会匹配这两个字符并将其替换为它们本身和之间的空格。

function sendAppliedEmail(applicant) {


let html = '<img src="" alt="logo">';
  html += '<h2 style="color: black">New Applicant</h2>'
  html += '<ul>';

  Object.entries(applicant).forEach(([key, value]) => {
    html += `<li>${key.replace(/([a-z])([A-Z])/g, `$1 $2`)}: ${value}</li>`;
  });

  html += '</ul>';
Run Code Online (Sandbox Code Playgroud)


如果密钥应该完全大写,您可以将该toUpperCase()方法链接到替换方法。

html += `<li>${key.replace(/([a-z])([A-Z])/g, `$1 $2`).toUpperCase()}: ${value}</li>`;
Run Code Online (Sandbox Code Playgroud)