如何实现JavaScript Unicode匹配?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (57)

我正在使用Node.js从XML文件中读取数据。但是,当我尝试将文件中的数据与文字进行比较时,它不匹配,即使它看起来相同:

  const parser: xml2js.Parser = new xml2js.Parser();
  const suggestedMatchesXml: any
    = fs.readFileSync(`${inputSuggMatchXmlFile}`, 'utf8');
  parser.parseString(suggestedMatchesXml, (_parseErr: any, result: any) => {
    // console.debug(`result = ${util.inspect(result, false, null)}`);
    suggestedMatchesObjFromXml = JSON.parse(JSON.stringify(result));
    // console.debug(`suggestedMatchesObjFromXml BEFORE = ${JSON.stringify(suggestedMatchesObjFromXml)}`);
  });
  const destinations: Array<any> = suggestedMatchesObjFromXml.suggestedmatches.destination;
  let docIdForUrl: string | undefined;
  _.each(destinations, (destination: any) => {
    const { url }: { url: string } = destination;
    if (!destination.docId) {
      console.debug(`processInputSmXmlFile(): url = ${url} ; index = ${_.indexOf(url, 'meetings')}`);

这是日志:

processInputSmXmlFile(): url = https://apps.na.collabserv.com/meetings/ ; index = -1

我不确定这是怎么发生的,除非其中一个字符串是unicode,另一个不是

如何将这种方式或其他方式转换为数据匹配?

提问于
用户回答回答于

因为我正在做一个JSON.parse()url不是一个字符串 - 它是一个对象。当我做了一个_.toString(url),并替换_.indexOf(url, 'meetings')_.includes(url, 'meetings')(因为LodashindexOf()仅用于数组),现在一切正常

扫码关注云+社区

领取腾讯云代金券