java - RegEx 在 "," 或 L," 或 ",N 处拆分字符串
问题描述
我是学习 RegEx 的绝对初学者。我需要根据多个条件将字符串拆分为不同的子字符串。
细绳:
"abc","def",NULL,"ghi",NULL,"jkl"
应该拆分为
[abc, def, NULL, ghi, NULL, jkl]
目前我正在使用String[] split = line.split("\",\"");
生成包含在“ ... ”中并由,分隔的所有子字符串。这可以正常工作,但如果有一个 NULL 值(不包含在“...”中),则子字符串的拆分不正确。
如果给出以下条件之一,是否可以通过使用拆分字符串的正则表达式将字符串拆分为其子字符串?
- ","
- 大号"
- ",N
提前致谢!
解决方案
String input = "\"abc\",\"def\",NULL,NULL,\"ghi\",NULL,\"jkl\"";
String [] split = input.split("(\",\")|(\",)|(,\")|(L,)");
for (int i = 0; i < split.length; i++) {
if (split[i].startsWith("\"")) {
split[i] = split[i].substring(1);
}
if (split[i].endsWith("\"")) {
split[i] = split[i].substring(0, split[i].length() -1);
}
if (split[i].equals("NUL")) {
split[i] = "NULL";
}
}
输出
[abc, def, NULL, NULL, ghi, NULL, jkl]
推荐阅读
- solr - 索尔 | 高亮返回所有不匹配的字段
- python - 在 Flask 中将大型查询结果转换为模板的最佳方法
- android - 修改 videoBuffer 以从 DJI 无人机流式传输到 RTSP
- react-native - 在 react native 中使用 setState 获取更新的值
- c++ - c ++为函数表建立名称,函数具有不同的签名
- python - Pythonic 编写函数的方式
- numpy - Numpy`where`子句的奇怪行为
- mysql - 使用日期修复正确加入 Laravel
- javascript - Highchart - 向多个同步的 highstock 图表之一添加更多系列
- anylogic - 绘制多级公路运输网络时出现奇怪的图形故障