【发布时间】:2021-05-16 10:53:31
【问题描述】:
首先,我应该以我对这种语言的经验不足为首。我试过的所有东西都炸了。它似乎不喜欢 .replace 或 .replaceAll 反正我试过使用它。我用过模式和匹配器。不行。
我需要将此代码放在一个已经工作的类中,该类正在从查询中读取 ResultSet 并将其发送到 .csv 文件。这是我正在使用的代码。我最近的尝试你会在 cmets //所有 Nikki's mess 和 //end of Nikki's mess 之间看到。如果有人可以帮助阐明一些问题,我真的要疯了。看似简单的事情,语言障碍却是真实存在的!!
公共类 CSVUtil {
public static final String QUOTE = "\"";
public static final String DELIMETER = ",";
public static String convertToCsv(ResultSet rs) throws SQLException {
StringBuilder csv = new StringBuilder();
while (rs.next()) {
// all Nikki's mess
// between the comments
String comments = rs.getString("ImageAnnotation");
//Pattern pt = Pattern.compile(",");
//Matcher match = pt.matcher(comments);
//while(match.find()){
comments = comments.replaceAll(",","");
//}
System.out.println(comments);
//end of Nikki's mess
csv.append(QUOTE).append(rs.getString(1)).append(QUOTE);
for (int i = 2; i <= rs.getMetaData().getColumnCount(); i++) {
csv.append(DELIMETER).append(QUOTE).append(rs.getString(i) == null ? "": rs.getString(i)).append(QUOTE);
}
csv.append(System.lineSeparator());
}
return csv.toString();
}
}
【问题讨论】:
-
问题的本质与Lambda无关......它只是“如何在Java中替换字符串中的字符”......对于它有确定 i> 已经有数百个问题/答案。此外,您尝试解释问题的方式“我尝试过的所有东西都被炸毁了”和“它似乎不喜欢 .replace 或 .replaceAll”和“不行”真的一点帮助都没有。永远不要只说“它不起作用”,始终提供完整的错误日志/异常/等。
-
我对在这里发帖犹豫不决。这是一个艰难的人群。我已经阅读了很多关于解决这个问题的问题,但没有一个是有效的,所以我认为在 AWS Lambda java 中完成了一些更具体的事情,因此标题包括它。为我的缺乏经验道歉。我唯一的错误日志是这样的:
-
“errorMessage”:“java.lang.NullPointerException”,“errorType”:“java.lang.NullPointerException”,“stackTrace”:[“com.sgk.redshift.ingestion.CSVUtil.convertToCsv( CSVUtil.java:54)”、“com.sgk.redshift.ingestion.RdsDataService.exportBMRDataTo(RdsDataService.java:80)”、“com.sgk.redshift.ingestion.LambdaFunctionHandler.handleRequest(LambdaFunctionHandler.java:27)”、 “com.sgk.redshift.ingestion.LambdaFunctionHandler.handleRequest(LambdaFunctionHandler.java:18)”
-
除了我的第 54 行是错误发生的位置之外,并没有真正告诉我任何事情。这就是这一行 cmets = cmets.replaceAll(",","");
-
java.lang.NullPointerException -> stackoverflow.com/questions/218384/…
标签: java amazon-web-services replace aws-lambda replaceall