From a5479bd433fc46336070bfe4d27cdd2cd23e35e9 Mon Sep 17 00:00:00 2001 From: conrad Date: Tue, 8 Jun 2021 12:38:33 +1000 Subject: [PATCH] conditional erasure --- include/armadillo_bits/diskio_meat.hpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/include/armadillo_bits/diskio_meat.hpp b/include/armadillo_bits/diskio_meat.hpp index c61b66a9..7dfec138 100644 --- a/include/armadillo_bits/diskio_meat.hpp +++ b/include/armadillo_bits/diskio_meat.hpp @@ -1763,7 +1763,16 @@ diskio::load_csv_ascii(Mat< std::complex >& x, std::istream& f, std::string& std::getline(line_stream, token, ','); // remove spaces and tabs - token.erase(std::remove_if(token.begin(), token.end(), [](char c) { return ((c == ' ') || (c == '\t')); }), token.end()); + if(token.length() > 0) + { + const char c_front = token.front(); + const char c_back = token.back(); + + if( (c_front == ' ') || (c_front == '\t') || (c_back == ' ') || (c_back == '\t') ) + { + token.erase(std::remove_if(token.begin(), token.end(), [](char c) { return ((c == ' ') || (c == '\t')); }), token.end()); + } + } const size_t token_len = size_t( token.length() );