|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, [! l( |- w$ W6 n
0 g5 Q' Z( i! H如果需要全字符串匹配,用Find; V( W& S* } |( G
@ h6 w0 [: \% f$ c
0 k+ r) K H }- r/ S2 N/ h
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。, ?" U5 P; v3 x8 `
9 x+ K2 x9 ]* Y9 J. W5 D. w, x" L! M
现将find和find_first_of的区别与几种使用形式介绍如下# w5 ^3 n9 \! S# W2 g
. m7 E1 ^ i! G: Y6 {
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
/ D" c" {; ^$ ^: X8 Z& a
4 @& F/ j3 }0 o1 S* X; Zfind有四种使用形式。
( r1 R4 b! a( n* f
0 x; h. ^+ I5 v" {: } N& S" `0 ^& V1、size_type find(const basic_string& str, size_type pos = 0) const;
: i7 s4 S! s) Y% ` {/ y: `; u1 m/ f b% R' E$ Y1 k, v6 {: w4 h
表示 从pos位置开始找子字符串str
q0 n5 R* d3 ]5 W+ J8 h- a0 Q& M" b( K+ t" R
2、size_type find(const char* s, size_type pos, size_type count)const;
' Y6 s9 t4 L0 F+ R$ O1 j* i- c# A
从pos位置开始找到与字符串s的前count个字符相等的子串1 T; H g$ g3 B+ B/ A1 A
+ B" s. ^% R) {% o7 y
3、size_type find(const char* s, size_type pos = 0)const;8 m7 Y4 h2 C& V( q T6 e3 k
2 z. H0 P- ^& A" S' Z0 j. P. C从pos位置开始找与字符串s相等的子串
& s6 x( j1 l% x. o, P1 |- `% n% z9 b7 z) d, [1 O8 J8 V
4、size_type find(char ch, size_type pos = 0) const;
( A+ z0 H" V- N" {3 ?! S( c# x1 K- f6 B0 V# R
从pos位置开始找字符ch。
6 {" F, [; O- L9 K R
% G8 B; a0 p0 \$ l2 E1 M$ r1 e; i8 e9 @. T% G4 A3 m
/ p: Y2 l' L& F6 R. o
find_first_of的四种形式; C! k" e1 [( g8 u. I I3 ~7 F
" y4 q8 `+ f% l$ B0 l. e; L1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;: z, o% W; k% H1 G1 M
0 ^; y& g; P5 q* d6 O+ f0 `; U从pos位置开始找到第一个与str中任意一个字符相等的字符 E2 n' r' u# T4 U% Q
2 n0 ?: F5 {, I( W% F' _
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;* W% F+ r% ~) `" }9 f- E8 i; q4 k
. i, {9 [' q1 {& T
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
8 q' U- @+ e2 o# W
! U' ~! i* }2 K9 P! B. k7 w4 K6 ?) w; V3、size_type find_first_of(const char* s, size_type pos = 0)const;" T% X6 T( B# W$ u. M: b
; e. G* |4 t. {' L; x! }
从pos位置开始找到第一个与s中的任意一个字符相等的字符# K6 p& ]- { K8 R8 g ~' e
0 T( E2 f y" E+ C% u* z4、size_type find_first_of(char ch, size_type pos = 0)const;2 I5 @# Z' H3 V; @6 p$ a$ R
9 W. c! a9 q7 S1 m
从pos位置开始找到第一个等于ch的字符。
+ v" ~ J% M% B4 ?5 ~' @
/ ~, J2 x% ]' }* b; h) V/ Q8 a/ b, N0 E7 L; Q8 ?. _
|
|