猿问

我该如何提取一串字符串里面的特定几个子字符串?

比如01-01 06:11:25.424 462 462 D [xx_hal] : [xx__hal_authenticate] enter, group_id = 0,这是这个字符串的所有内容,我需要提取的有字符串1:01-01 06:11:25.424,这是世界内容,提取的有字符串2:xx_hal,这是模块名字,字符串3:xx__hal_authenticate,这是函数,字符串4:enter, group_id = 0,这是内容

杨__羊羊
浏览 82回答 1
1回答

慕的地8271018

boostSTL补充regex其模块各类别本文记录用引入文件1.regex_matchregexreg("\\d{3}");stringstr="123";boolb=regex_match(str,reg);2.regex_replace(strings,regexe,stringt)s匹配e串替换tregexreg("(colo)(u)(r)",boost::regex::icase|boost::regex::perl);strings="Colour,colour,color,colOurize";s=regex_replace(s,reg,"$1$3");t$n代表reg第n括号内容$3表示r$1表示colo段代码表示colour换colorboost::regex::icase/boost::regex::perl标志关表示忽略写需要标志关打需要默认关闭regex_replace修改原字符串新串返3.erase_all_regex(string,regex)(boost::algorithm::erase_all_regexinheader)删除满足regex所串原串直接修改#includeerase_all_regex(str,boost::regex("[\n|\t|\r]"))删除字符串str所空格4.split_regex(序列式容器,string,regex)()割符regex格式割string结存放容器#includevectorfields;split_regex(fields,str,boost::regex("[\\*|X]"));str="5*6"fields存放56str修改5.split(序列式容器,string,Predicate),()#include#includevectorresult;split(result,school_code,is_any_of(";"));is_any_of用于判断school_code否包含";";割school_code存放result修改原串
随时随地看视频慕课网APP
我要回答