#java #amazon-web-services #replace #aws-lambda #replaceall
#java #amazon-web-services #заменить #aws-lambda #замените все
Вопрос:
Сначала я должен рассказать о том, насколько я неопытен в этом языке. Все, что я пробовал, взорвалось. Похоже, что .replace или .replaceAll в любом случае, я пытался его использовать. Я использовал шаблон и сопоставитель. не пойдет.
Мне нужно поместить этот код в уже рабочий класс, который считывает результирующий набор из запроса и отправляет его в файл .csv. Вот код, с которым я работаю. Мою последнюю попытку вы увидите между комментариями // Весь беспорядок Никки и // конец беспорядка Никки. Я действительно схожу с ума, если кто-нибудь может помочь пролить свет. Кажется, что это такая простая вещь, но языковой барьер реален!!
открытый класс 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();
}
}
Комментарии:
1. Я не решался публиковать здесь. это жесткая толпа. Я прочитал оооочень много вопросов о решении этой проблемы, и ни один из них не работает, поэтому я подумал, что в AWS Lambda java есть что-то более конкретное, что делается в AWS Lambda java, отсюда и название, включающее его. Прошу прощения за мою неопытность. Единственный журнал ошибок, который у меня есть, это:
2. «Сообщение об ошибке»: «java.lang. Исключение NullPointerException», «ErrorType»: «java.lang. Исключение NullPointerException», «stackTrace»: [ «com.sgk.redshift.прием. CSVUtil.convertToCsv(CSVUtil.java:54)», «com.sgk.redshift.прием. RdsDataService.exportBMRDataTo(RdsDataService.java:80)», «com.sgk.redshift.прием. LambdaFunctionHandler.handleRequest(LambdaFunctionHandler.java:27)», «com.sgk.redshift.прием. LambdaFunctionHandler.handleRequest(LambdaFunctionHandler.java:18)»
3. На самом деле не говорит мне ничего, кроме моей строки 54, где возникает ошибка. и это строка comments = comments.replaceAll(«,»,»»);
4. спасибо — я уже прочитал это объяснение.
Ответ №1:
Я смог решить. Я добавил replaceAll в эту строку:
csv.append(DELIMETER).append(QUOTE).append(rs.getString(i) == null ? «»: rs.getString(i)).добавить(ЦИТАТА);
csv.append(DELIMETER).append(QUOTE).append(rs.getString(i) == null ? «»: rs.getString(i).replaceAll(«,»,»»)). добавить(ЦИТАТА);
Похоже, это сработало.
Комментарии:
1. Как вы создаете свою лямбда-функцию Java — вы создаете ее с помощью Eclipse tool или используете Java runtime API в проекте Maven (что лучше).