如何在Java Script中基于几个字符将字符串拆分为单独的变量



有一个String变量的值如下。

"COMPANY=10^INVOICE_ID=100021^"

我需要将其放入两个变量中,如Company和InvoieId。

有什么可能的方法来实现JS?

这里有一种动态方式。您可以从obj中获取任何值。

const str = "COMPANY=10^INVOICE_ID=100021^"
const obj = {}
const strArr = str.split('^')
strArr.forEach(str => {
const [key, value] = str.split('=')
obj[key] = value
})
const {COMPANY, INVOICE_ID } = obj
console.log(INVOICE_ID, COMPANY)

我们也可以通过正则表达式来实现

Regex101演示

let str = `COMPANY=10^INVOICE_ID=100021^`
let regex = /(w+)=d+/g
let match = regex.exec(str)
while(match){
console.log(match[1])
match = regex.exec(str)
}

如果这个代码将被调用多次,让我们创建一个函数:

const parseInput = (input) => {
const [company, invoice_id] =
input.split("^")
.map(kv => kv.split("=")[1]);
return {
company,
invoice_id
};
}

最新更新