26 return std::search(a.begin(), a.end(), b.begin(), b.end()) != a.end();
36 auto iter_a = a.begin();
37 auto iter_b = b.begin();
38 while (iter_b != b.end())
40 if (iter_a == a.end())
42 if (*iter_b != *iter_a)
55template<
typename T,
typename V>
58 auto iter_a = std::find(c.begin(), c.end(), a);
59 if (iter_a == c.end())
64 while (iter_b != c.end())
67 return { iter_a, iter_b };
76template<
typename T,
typename V>
79 auto iter = std::find(c.begin(), c.end(), a);
82 return { ++iter , c.end() };
91 auto iter_a = a.rbegin();
92 auto iter_b = b.rbegin();
93 while (iter_b != b.rend())
95 if (iter_a == a.rend())
97 if (*iter_b != *iter_a)
124 auto iter_a = a.begin();
125 while (iter_a != a.end())
129 auto iter1 = sub.begin();
130 while (iter1 != sub.end())
133 || iter1 == sub.end()
145 iter_a += sub.size();
149 ret.push_back(*iter_a);
T ReplaceAll(const T &a, const T &sub, const T &tar)
子串替换
bool IsSub(const T &a, const T &b)
子串匹配
T Tail(const T &c, const V &a)
返回尾部
T Range(const T &c, const V &a, const V &b)
区间匹配
bool IsBegin(const T &a, const T &b)
子串匹配
bool IsTail(const T &a, const T &b)
子串匹配