当字符串中出现逗号时删除字符串的其余部分 “,”

Deleting rest of the string when "," comma is present in string

提问人:Pouya Babaie 提问时间:9/18/2023 最后编辑:jcalzPouya Babaie 更新时间:9/18/2023 访问量:61

问:

我在我的 angular 应用程序中使用 ngx-CSVtoJSON 组件。

我在 .csv 文件中有这个示例数据:

法典
SDFGFJHGJ
FGHFGH系列
FHJGHKM,香港
SKDS的;DFHCS系列
fgjhgjkl
hkljollop
盖哥
njkhg4@@
东风集团;453e2型
sdfghjkhjk
iuygbikugiug
jhfjkgkig
jyhfjjhgkgk

加载数据时,当数据中存在“,”时,字符串的行为很奇怪,变成这样:

{
    "code": "\"fhjghkm"
}

值应该是这样的:“fhjghkm,khhk”; 这是我的转换方法:

  <div class="pb-2">
          <Ngx-CSVtoJSON (onConvert)="convert($event)" (onFail)="onError($event)">
          </Ngx-CSVtoJSON>
        </div>

convert(objArray){

    this.newCodeFormData.codes = objArray.result.map(a => a[this.csvFieldName]);
    this.newCodeFormData.codes = this.newCodeFormData.codes.filter(x => x != '' && x != null);

}
Angular TypeScript CSV 解析

评论

0赞 Random 9/18/2023
“CSV”代表“逗号分隔值”。因此,如果一个值包含逗号,它就不会起作用。如果您的列分隔符与 “,” 不同,我相信您必须配置库,以便它了解拆分位置。
1赞 Random 9/18/2023
ngx-CSVtoJSON不支持使用不同的分隔符,因为逗号在其源代码中是硬编码的:.这也意味着它不支持转义字符(因为如果值包含逗号,则可以在 CSV 文件中转义逗号)obj[prop[k]] = line.split(',')[k]
0赞 jcalz 9/18/2023
你要问的具体问题是什么?是“为什么会这样?”还是“我该如何解决它?”第一个问题的答案似乎主要是@Random所说的。第二个答案几乎可以肯定是“使用不同的 csv 解析器”。其中哪一项构成了某人可以发布或找到欺骗目标的问题的答案?
0赞 Pouya Babaie 9/18/2023
正如@Random所说,CSV 代表“逗号分隔值”,我实际上并不知道它,我想我只需要使用识别逗号字符“,” 的不同解析器,这样我就可以删除它,或者用空字符串替换它
0赞 Pouya Babaie 9/18/2023
@jcalz我最初的问题是根据.csv文件值中逗号的识别来编写逻辑,如果有,请将对象“hasComma”值转换为true,以便我可以更改DOM的样式。

答: 暂无答案