ChaiScript的
我正在将lua移植到chaiscript。原始lua代码使用split
:
function string:split(delimiter)
local result = { }
local from = 1
local delim_from, delim_to = string.find( self, delimiter, from )
while delim_from do
table.insert( result, string.sub( self, from , delim_from-1 ) )
from = delim_to + 1
delim_from, delim_to = string.find( self, delimiter, from )
end
table.insert( result, string.sub( self, from ) )
return result
end
但是我找不到chaiscript版本的split
。。。chaiscript有split
函数吗?
string
功能是C++、std::string
中可用内容的直接映射。因此,不存在内置的拆分功能。
您可以很容易地使用自己的方法,就像这里的方法一样:在C++中拆分字符串?
#include <string>
#include <sstream>
#include <vector>
void split(const std::string &s, char delim, std::vector<std::string> &elems) {
std::stringstream ss;
ss.str(s);
std::string item;
while (std::getline(ss, item, delim)) {
elems.push_back(item);
}
}
std::vector<std::string> split(const std::string &s, char delim) {
std::vector<std::string> elems;
split(s, delim, elems);
return elems;
}