diff --git a/Framework/Kernel/inc/MantidKernel/Strings.h b/Framework/Kernel/inc/MantidKernel/Strings.h index c25114da39e21e02bb33c43154a5e20cab1994c9..e1f9f2d8738f111c7b65937538bb23ed8d3a1214 100644 --- a/Framework/Kernel/inc/MantidKernel/Strings.h +++ b/Framework/Kernel/inc/MantidKernel/Strings.h @@ -144,7 +144,7 @@ template <typename T> int sectionMCNPX(std::string &A, T &out); MANTID_KERNEL_DLL void writeMCNPX(const std::string &Line, std::ostream &OX); /// Split tring into spc deliminated components -MANTID_KERNEL_DLL std::vector<std::string> StrParts(std::string Ln); +MANTID_KERNEL_DLL std::vector<std::string> StrParts(const std::string &Ln); /// Splits a string into key value pairs MANTID_KERNEL_DLL std::map<std::string, std::string> diff --git a/Framework/Kernel/src/Strings.cpp b/Framework/Kernel/src/Strings.cpp index 94977a619b58830b36ac6c81eab493de5e900873..ae7dd875e87be760c4535f0b53c9cad3a3410a2f 100644 --- a/Framework/Kernel/src/Strings.cpp +++ b/Framework/Kernel/src/Strings.cpp @@ -412,11 +412,10 @@ void writeMCNPX(const std::string &Line, std::ostream &OX) { * @return vector of components */ std::vector<std::string> StrParts(const std::string &Ln) { - std::vector<std::string> Out; - std::string Part; - while (section(Ln, Part)) - Out.push_back(Part); - return Out; + auto tokenizer = Mantid::Kernel::StringTokenizer( + Ln, " ", Mantid::Kernel::StringTokenizer::TOK_TRIM | + Mantid::Kernel::StringTokenizer::TOK_IGNORE_EMPTY); + return tokenizer.asVector(); } /**