gpt4 book ai didi

javascript - 逗号分隔字符串的正则表达式

转载 作者:行者123 更新时间:2023-11-28 16:13:17 25 4
gpt4 key购买 nike

我不是正则表达式大师,但我正在寻找一个可以在 js 中给出此结果的正则表达式:

var regex = ...;
var result = '"a b", "c, d", e f, g, "h"'.match(regex);

结果将是

['"a b"', '"c, d"', 'e f', 'g', '"h"']

编辑:

不需要处理转义引号。它用于标记字段,用户必须能够在其中输入:

标签1,标签2

而且

“美国纽约”、“美国波士顿”

编辑2:感谢您以惊人的速度回答 minitech,这成功了!

最佳答案

我只使用循环:

function splitCSVFields(row) {
var result = [];
var i, c, q = false;
var current = '';

for(i = 0; c = row.charAt(i); i++) {
if(c === '"') {
current += c;
q = !q;
} else if(c === ',' && !q) {
result.push(current.trim());
current = '';
} else {
current += c;
}
}

if(row.length > 0) {
result.push(current.trim());
}

return result;
}

注意:需要 String#trim,您可以按如下方式进行修改:

if(!String.prototype.trim) {
String.prototype.trim = function() {
return this.replace(/^\s+/, '').replace(/\s+$/, '');
};
}

关于javascript - 逗号分隔字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12231286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com