为了账号安全,请及时绑定邮箱和手机立即绑定

如何从这种字符串中获取关键字

如何从这种字符串中获取关键字

小怪兽爱吃肉 2021-04-29 15:21:13
我需要从这种字符串中获取“付款类型和客户类型   Examples:      |    D           | A  | B | C |      |      NZ       | AAA           |     BBB    |      NZ       |      |      AZ       | CCC           |    DDD        |  AZ  |      |      CA      | EEE            |    FFF        |  CA  |我应该尝试获取模式并为此编写函数吗?或者我可以找到一些图书馆来检测它因此输出应为{付款:[“ AAA”,“ CCC”,'EEE'],客户:[“ BBB”,'DDD“,” FFF“]}function detect(str){  let countBar=1  let countBar2=0  let paymentLoc=NaN  let customerLoc=NaN  let after =0  let arr1=str.split(" ")  arr1=arr1.filter(item=>{return item!==""})  let newStr=''  for(let i=0;i<arr1.length;i++){    arr1[i].trim()    if(arr1[i]==='|'){      countBar++    }    if(arr1[i]==="||"){      countBar2++    }    if(arr1[i].includes("payment")){      paymentLoc=i    }   after=((countBar/(countBar2))-1)*2let sol=[]  for(let i=0;i<arr1.length;i++){  if(arr1[i].includes("payment")){    console.log('payment index',i)      sol.push(arr1[i+after+1])    }    if(arr1[i].includes("customer")){      console.log('customer index',i)      sol.push(arr1[i+after+1])    }  }  newStr=arr1.join('')  console.log(newStr)}
查看完整描述

2 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

这是一个试图用|分开的尝试。


var text = `|    market     | payment type  | customer type |  translation  |

  |      NZ       | AAA           |     BBB    |      NZ       |

  |      AZ       | CCC           |    DDD        |  AZ  |

  |      CA      | EEE            |    FFF        |  CA  |`;


var result = {

    payment: text.split('|').filter((f, i) => i-7 >= 0 && (i - 7) % 5 == 0)

       .map(p => p.trim()),

    customer: text.split('|').filter((f, i) => i-8 >= 0 && (i - 8) % 5 == 0)

       .map(p => p.trim())

}


console.log(result)


查看完整回答
反对 回复 2021-05-06
  • 2 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信