Regex Delimeter in PapaParse

Regex Delimeter in PapaParse

本文关键字:PapaParse in Delimeter Regex      更新时间:2023-09-26

我想问,是否可以在PapaParse中使用正则表达式作为分隔符?类似于:

Papa.parse(string,
 {
    delimiter:regex
 }
);

我正在尝试匹配一种特定的CSV模式,比如:

/([A-Za-z]{2}[0-9]+,?)/g

即,我想要两个字母、任意数量的数字和一个逗号(在最后一个元素的情况下,或者不需要(。

由于string.split有一个很好的习惯,当没有匹配regex模式时,它会返回除null之外的任何内容,所以我希望我的答案会在PapaParse中。如果这不可能,那么我会做一些更冗长的事情,但希望我能懒散。。。这次有效。:(

尝试执行以下操作:

Papa.parse('ACB5,dsa',{delimiter:'[A-Za-z]{2}[0-9]+,?'});

中的结果

["ACB5","dsa"]

谢谢你抽出时间。

编辑

在regexr.com上试用regex表明它可以使用等值

AB544444444444,公元前5年,aa5,

在这一点上,我意识到这实际上是一个愚蠢的问题,考虑到分隔符是如何区分你想要分手的东西的。

我现在正在写长篇大论的版本,所以我很快就会把它贴起来

正如马特(和常识(正确地说的那样,是的,分隔符只是一个旧逗号。我一直在寻找一种基于正则表达式来分离结果的方法,我过去曾认为正则表达式与string.split的工作方式有一些相似之处。这是我试图缩小的片段。
    var result = null;
    var regex = /([A-Za-z]{2}[0-9]+,?)/g;       //Any two letters, a number, and a space
$(document).ready( function() {
  $('#inputGraphText').on('input', function(e){ //on text input...
    result = $(this).val().split(',');          //split using the complex delimiter ','. Also adds a few "" elements to the array for some reason.
    var tidy = new Array();
    result.forEach(function(elem){
        if(elem.search(regex) > -1){
          tidy.push(elem.replace('/[, ]/g',''));//Tidy up the result
        }
    });
    $('#first').html(tidy);                     //place to print out the tidied results
  })
});

显然,这并不是很时髦(完全错过了使用PapaParse(,但这正是我最初打算做的

任何更好的替代方案都将占据主导地位,但就目前而言,这还可以。

我对造成的混乱表示歉意。