使用正则表达式分析逗号分隔的字符串
Parsing comma delimited string with regex
我需要用JavaScript解析一个逗号分隔的字符串。该字符串是从CSV文件中提取的。字符串将被''r''n、''n或''r分割。第一行是标题。
var str = 'firstname,middlename,lastname,address1,address2,city,st,zip,Custom01,Custom02,Custom03,Custom04,Custom05,Custom06,Custom07,Custom08,Custom09,Custom10,Custom11,Custom12,Custom13,Custom14,Custom15,Custom16,Custom17,Custom18,Custom19,Custom20 'n K,,P,123 ST,,CENTENNIAL,CO,80122-3011,,,,,,,,,,,,,,,,,,,, 'n K,,P,123 ST,,AURORA,CO,80013-2355,,,,,,,,,,,,,,,,,,,, 'n K,,P,123 ST,,LAKEWOOD,CO,80228-5332,,,,,,,,,,,,,,,,,,,,';
我需要做两件事。
- 确保address1、city、st和zip不为空
- 确保zip只有5个数字
一直在regext101.com上测试一些示例,但没有任何运气。甚至没有接近需要的东西。如有任何帮助,我们将不胜感激。谢谢
这是我使用sln的代码。它使用regex从csv文件中解析逗号分隔的字符串,使用我原来的问题中列出的标准。
for (i = 1; i < rows.length; i++) {
var sample = rows[i].match(/^(?:[^,]*,){3}([^,]+),[^,]*,([^,]+),([^,]+),('d{5})/gm);
if (sample === null) {
alert('Either the address1, city, st, or zip is blank. Or zip is more then 5 digits.');
}
}
我认为您不需要regex。字符串拆分可以随心所欲:w3schools
var str = 'firstname,middlename,lastname,address1,address2,city,st,zip,Custom01,Custom02,Custom03,Custom04,Custom05,Custom06,Custom07,Custom08,Custom09,Custom10,Custom11,Custom12,Custom13,Custom14,Custom15,Custom16,Custom17,Custom18,Custom19,Custom20 'n K,,P,123 ST,,CENTENNIAL,CO,80122-3011,,,,,,,,,,,,,,,,,,,, 'n K,,P,123 ST,,AURORA,CO,80013-2355,,,,,,,,,,,,,,,,,,,, 'n K,,P,123 ST,,LAKEWOOD,CO,80228-5332,,,,,,,,,,,,,,,,,,,,';
var str_parts = str.split(',');
var address1 = str_parts[3];
var city = str_parts[5];
var street = str_parts[6];
var zip = str_parts[7];
我留下来检查一下这些不是空的,作为读者的练习。
相关文章:
- 在 Javascript 中将对象连接为空格分隔字符串的最简单方法是什么?
- 在 JavaScript 和 PHP 中用逗号换行分隔字符串
- JS - 用句点分隔字符串以满足特定的字符长度
- Javascript 正则表达式用于逗号分隔字符串
- 如何在Javascript中去除破折号分隔字符串的最后一个元素
- 如何传递逗号分隔字符串以选择 Angular js 中的选项
- 删除逗号分隔字符串内的字符串
- 将逗号分隔字符串数组转换为不同的数组
- 如何从分隔字符串创建数组
- 获取表单中选中复选框的值以分隔字符串(动态命名)
- 使用 JavaScript 分隔字符串
- 用空格分隔字符串,但不能在括号内
- JavaScript用空白分隔字符串
- 用空格和短划线分隔字符串
- 效率JSON与Javascript中的分隔字符串
- 逗号分隔字符串的总和
- 用逗号分隔字符串,但在JavaScript中未转义
- 如何在正则表达式中用一个S或E字符和JavaScript中的数字分隔字符串
- 提取逗号分隔字符串中的任何单词
- 如何使用子字符串打印分隔字符串