Произвели следующие изменения и сделали так:
s3 = Aws::S3::Resource.new(:access_key_id => ENV.fetch('AWS_ACCESS_KEY_ID'),
:secret_access_key => ENV.fetch('AWS_SECRET_ACCESS_KEY'),
:region => ENV.fetch('AWS_REGION'))
obj = s3.client.get_object(bucket:ENV.fetch("AWS_BUCKET"), key: s3_key.to_s)
file = Tempfile.new('report_generation_json_file')
file.binmode
file.write(obj.body.read)
file.close
file.open
interpret_json_file(file)
Regex с replaceAll.
public class Main
{
public static void main(final String[] argv)
{
String str;
str = "hello\r\njava\r\nbook";
str = str.replaceAll("(\\r|\\n)", "");
System.out.println(str);
}
}
, Если Вы только хотите удалить \r\n, когда они - пары (вышеупомянутый код удаляет или \r или \n) делают это вместо этого:
str = str.replaceAll("\\r\\n", "");
Если Вы захотите избежать regex или должны будете быть нацелены на более раннюю JVM, то String.replace () сделает:
str=str.replace("\r","").replace("\n","");
И удалить пару CRLF:
str=str.replace("\r\n","");
последний более эффективен, чем создание regex, чтобы сделать то же самое. Но я думаю, что первый будет быстрее как regex, так как строка только анализируется однажды.
Учитывая String str:
str = str.replaceAll("\\\\r","")
str = str.replaceAll("\\\\n","")
Вы попытались использовать метод replaceAll для замены какого-либо происшествия \n или \r с пустой строкой?