summaryrefslogtreecommitdiff
path: root/apt-pkg/contrib/strutl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'apt-pkg/contrib/strutl.cc')
-rw-r--r--apt-pkg/contrib/strutl.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc
index 0955b69f7..819d50de0 100644
--- a/apt-pkg/contrib/strutl.cc
+++ b/apt-pkg/contrib/strutl.cc
@@ -1118,6 +1118,28 @@ vector<string> VectorizeString(string const &haystack, char const &split)
return exploded;
}
/*}}}*/
+// StringSplit - like python string.split /*{{{*/
+// ---------------------------------------------------------------------
+/* This can be used to split a given string up into a vector of strings
+ * The seperator is a string
+ */
+vector<string> StringSplit(string const &s, std::string const &sep)
+{
+ vector<string> split;
+ size_t start, pos;
+ start = pos = 0;
+ if(sep.size() == 0)
+ return split;
+
+ do {
+ pos = s.find(sep, start);
+ split.push_back(s.substr(start, pos-start));
+ if(pos != string::npos)
+ start = pos+sep.size();
+ } while (pos != string::npos);
+ return split;
+}
+ /*}}}*/
// RegexChoice - Simple regex list/list matcher /*{{{*/
// ---------------------------------------------------------------------
/* */