从javascript中的字符串中删除尾随“,”和多余空格

zlwx9yxi  于 2022-12-25  发布在  Java
关注(0)|答案(3)|浏览(108)

有没有办法使用replace、split、join等方法来规范化下面的字符串,使其与input相同?
输入:

"VS CODE,  ,  ,  JavaScript,  ,  ,  Hypertext Markup Language,  ,  ,  Cascading Style Sheets"

输出:

"VS CODE; JavaScript; Hypertext Markup Language; Cascading Style Sheets"

我尝试使用修剪、拆分、连接、替换等方法,但结果仍不如预期

z31licg0

z31licg01#

那么,您可以通过在“,"处拆分,过滤掉空值,然后将结果连接在一起来解决它。

const input = "VS Code,  ,  ,  JavaScript,  ,  ,  Hypertext Markup Language,  ,  ,  Cascading Style Sheets"

const output = input
  .split(",") // split the input by ','
  .map(it => it.trim()) // in each item trim whitespaces
  .filter(it => !!it) // remove empty items
  .join("; "); // join them together
  
console.log(output);
zmeyuzjn

zmeyuzjn2#

您需要使用多个字符串方法:
1.使用“,”拆分字符串
1.空字符串过滤器
1.使用“”加入数组;“

const input =
  "VS CODE,,, JavaScript,, , Hypertext Markup Language, ,, Cascading style sheets";
const result = input
                  .split(",")
                  .filter((s) => s !== "" && s !== " ")
                  .join(";");

console.log(result);
46qrfjad

46qrfjad3#

您还可以使用正则表达式查找所有空格&逗号并将其替换为;

const input = "VS CODE,  ,  ,  JavaScript,  ,  ,  Hypertext Markup Language,  ,  ,  Cascading Style Sheets"

console.log(
  input.replace(/[\s,]+[\s,]+/gm, '; ')
)

相关问题