gpt4 book ai didi

c++ - Boost::Split 使用整个字符串作为分隔符

转载 作者:可可西里 更新时间:2023-11-01 15:54:18 28 4
gpt4 key购买 nike

我想知道是否有一种方法使用 boost::split 以整个字符串作为分隔符来拆分字符串。例如:

str = "xxaxxxxabcxxxxbxxxcxxx"

有没有一种方法可以使用 "abc" 作为分隔符来分割这个字符串?因此返回:

结果将是字符串 "xxaxxxx""xxxxbxxxcxxx"

我知道 boost::split 使用 "is_any_of" 谓词,但是调用 is_any_of("abc") 会导致也将字符串拆分为单个字符“a”、“b”和“c”,这不是我想要的。

最佳答案

是的,有一种方法(这是我知道的一种方法,也许有更好的方法)使用 boost::algorithm::split_regex 来拆分分隔符为正则表达式的字符序列。

例子:

vector< string > result;
boost::algorithm::split_regex( result, str, regex( "^((?!abc)*abc(?!abc)*)*$" ) ) ;
copy( result.begin(), result.end(), ostream_iterator<string>( cout, "\n" ) ) ;

关于c++ - Boost::Split 使用整个字符串作为分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7436968/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com